Class AssertionUtils


  • public class AssertionUtils
    extends Object
    Created by vahid (va.zafari@gmail.com) on 10/30/17.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void assertEquals​(byte[] file1, byte[] file2)  
      static void doesNotContain​(String textToSearch, String substring, String message)
      Assert that the given text does not contain the given substring.
      static void doesNotContain​(String textToSearch, String substring, Supplier<String> messageSupplier)
      Assert that the given text does not contain the given substring.
      static void ge​(long greater, long smaller)  
      static void ge​(long greater, long smaller, String message)  
      static void gt​(long greater, long smaller)  
      static void gt​(long greater, long smaller, String message)  
      static void hasText​(String text, String message)
      Assert that the given String contains valid text content; that is, it must not be null and must contain at least one non-whitespace character.
      static void hasText​(String text, Supplier<String> messageSupplier)
      Assert that the given String contains valid text content; that is, it must not be null and must contain at least one non-whitespace character.
      static void isAssignable​(Class<?> superType, Class<?> subType)
      Assert that superType.isAssignableFrom(subType) is true.
      static void isAssignable​(Class<?> superType, Class<?> subType, String message)
      Assert that superType.isAssignableFrom(subType) is true.
      static void isAssignable​(Class<?> superType, Class<?> subType, Supplier<String> messageSupplier)
      Assert that superType.isAssignableFrom(subType) is true.
      static void isInstanceOf​(Class<?> type, Object obj)
      Assert that the provided object is an instance of the provided class.
      static void isInstanceOf​(Class<?> type, Object obj, String message)
      Assert that the provided object is an instance of the provided class.
      static void isInstanceOf​(Class<?> type, Object obj, Supplier<String> messageSupplier)
      Assert that the provided object is an instance of the provided class.
      static void isNotBlank​(String text, String message)
      Assert that the given String is not empty; that is, it must not be null and not the empty String.
      static void isNotBlank​(String text, Supplier<String> messageSupplier)
      Assert that the given String is not empty; that is, it must not be null and not the empty String.
      static void isNull​(Object object, String message)
      Assert that an object is null.
      static void isNull​(Object object, Supplier<String> messageSupplier)
      Assert that an object is null.
      static void isTrue​(boolean expression, String message)
      Assert a boolean expression, throwing an IllegalArgumentException if the expression evaluates to false.
      static void isTrue​(boolean expression, Supplier<String> messageSupplier)
      Assert a boolean expression, throwing an IllegalArgumentException if the expression evaluates to false.
      static void noNullElements​(Object[] array, String message)
      Assert that an array contains no null elements.
      static void noNullElements​(Object[] array, Supplier<String> messageSupplier)
      Assert that an array contains no null elements.
      static void noNullElements​(Collection<?> collection, String message)
      Assert that a collection contains no null elements.
      static void noNullElements​(Collection<?> collection, Supplier<String> messageSupplier)
      Assert that a collection contains no null elements.
      static void notEmpty​(Object[] array, String message)
      Assert that an array contains elements; that is, it must not be null and must contain at least one element.
      static void notEmpty​(Object[] array, Supplier<String> messageSupplier)
      Assert that an array contains elements; that is, it must not be null and must contain at least one element.
      static void notEmpty​(Collection<?> collection, String message)
      Assert that a collection contains elements; that is, it must not be null and must contain at least one element.
      static void notEmpty​(Collection<?> collection, Supplier<String> messageSupplier)
      Assert that a collection contains elements; that is, it must not be null and must contain at least one element.
      static void notEmpty​(Map<?,​?> map, String message)
      Assert that a Map contains entries; that is, it must not be null and must contain at least one entry.
      static void notEmpty​(Map<?,​?> map, Supplier<String> messageSupplier)
      Assert that a Map contains entries; that is, it must not be null and must contain at least one entry.
      static void notNull​(Object object, String message)
      Assert that an object is not null.
      static void notNull​(Object object, Supplier<String> messageSupplier)
      Assert that an object is not null.
      static void state​(boolean expression, String message)
      Assert a boolean expression, throwing an IllegalStateException if the expression evaluates to false.
      static void state​(boolean expression, Supplier<String> messageSupplier)
      Assert a boolean expression, throwing an IllegalStateException if the expression evaluates to false.
    • Method Detail

      • ge

        public static void ge​(long greater,
                              long smaller,
                              String message)
      • ge

        public static void ge​(long greater,
                              long smaller)
      • gt

        public static void gt​(long greater,
                              long smaller,
                              String message)
      • gt

        public static void gt​(long greater,
                              long smaller)
      • assertEquals

        public static void assertEquals​(byte[] file1,
                                        byte[] file2)
      • state

        public static void state​(boolean expression,
                                 String message)
        Assert a boolean expression, throwing an IllegalStateException if the expression evaluates to false.

        Call isTrue(boolean, java.lang.String) if you wish to throw an IllegalArgumentException on an assertion failure.

        Assert.state(id == null, "The id property must not already be initialized");
        Parameters:
        expression - a boolean expression
        message - the exception message to use if the assertion fails
        Throws:
        IllegalStateException - if expression is false
      • state

        public static void state​(boolean expression,
                                 Supplier<String> messageSupplier)
        Assert a boolean expression, throwing an IllegalStateException if the expression evaluates to false.

        Call isTrue(boolean, java.lang.String) if you wish to throw an IllegalArgumentException on an assertion failure.

         Assert.state(id == null,
             () -> "ID for " + entity.getName() + " must not already be initialized");
         
        Parameters:
        expression - a boolean expression
        messageSupplier - a supplier for the exception message to use if the assertion fails
        Throws:
        IllegalStateException - if expression is false
      • isTrue

        public static void isTrue​(boolean expression,
                                  String message)
        Assert a boolean expression, throwing an IllegalArgumentException if the expression evaluates to false.
        Assert.isTrue(i > 0, "The value must be greater than zero");
        Parameters:
        expression - a boolean expression
        message - the exception message to use if the assertion fails
        Throws:
        IllegalArgumentException - if expression is false
      • isTrue

        public static void isTrue​(boolean expression,
                                  Supplier<String> messageSupplier)
        Assert a boolean expression, throwing an IllegalArgumentException if the expression evaluates to false.
         Assert.isTrue(i > 0, () -> "The value '" + i + "' must be greater than zero");
         
        Parameters:
        expression - a boolean expression
        messageSupplier - a supplier for the exception message to use if the assertion fails
        Throws:
        IllegalArgumentException - if expression is false
      • isNull

        public static void isNull​(Object object,
                                  String message)
        Assert that an object is null.
        Assert.isNull(value, "The value must be null");
        Parameters:
        object - the object to check
        message - the exception message to use if the assertion fails
        Throws:
        IllegalArgumentException - if the object is not null
      • isNull

        public static void isNull​(Object object,
                                  Supplier<String> messageSupplier)
        Assert that an object is null.
         Assert.isNull(value, () -> "The value '" + value + "' must be null");
         
        Parameters:
        object - the object to check
        messageSupplier - a supplier for the exception message to use if the assertion fails
        Throws:
        IllegalArgumentException - if the object is not null
      • notNull

        public static void notNull​(Object object,
                                   String message)
        Assert that an object is not null.
        Assert.notNull(clazz, "The class must not be null");
        Parameters:
        object - the object to check
        message - the exception message to use if the assertion fails
        Throws:
        IllegalArgumentException - if the object is null
      • notNull

        public static void notNull​(Object object,
                                   Supplier<String> messageSupplier)
        Assert that an object is not null.
         Assert.notNull(clazz, () -> "The class '" + clazz.getName() + "' must not be null");
         
        Parameters:
        object - the object to check
        messageSupplier - a supplier for the exception message to use if the assertion fails
        Throws:
        IllegalArgumentException - if the object is null
      • isNotBlank

        public static void isNotBlank​(String text,
                                      String message)
        Assert that the given String is not empty; that is, it must not be null and not the empty String.
        Assert.isNotBlank(name, "Name must not be empty");
        Parameters:
        text - the String to check
        message - the exception message to use if the assertion fails
        Throws:
        IllegalArgumentException - if the text is empty
      • isNotBlank

        public static void isNotBlank​(String text,
                                      Supplier<String> messageSupplier)
        Assert that the given String is not empty; that is, it must not be null and not the empty String.
         Assert.isNotBlank(name, () -> "Name for account '" + account.getId() + "' must not be empty");
         
        Parameters:
        text - the String to check
        messageSupplier - a supplier for the exception message to use if the assertion fails
        Throws:
        IllegalArgumentException - if the text is empty
      • hasText

        public static void hasText​(String text,
                                   String message)
        Assert that the given String contains valid text content; that is, it must not be null and must contain at least one non-whitespace character.
        Assert.hasText(name, "'name' must not be empty");
        Parameters:
        text - the String to check
        message - the exception message to use if the assertion fails
        Throws:
        IllegalArgumentException - if the text does not contain valid text content
      • hasText

        public static void hasText​(String text,
                                   Supplier<String> messageSupplier)
        Assert that the given String contains valid text content; that is, it must not be null and must contain at least one non-whitespace character.
         Assert.hasText(name, () -> "Name for account '" + account.getId() + "' must not be empty");
         
        Parameters:
        text - the String to check
        messageSupplier - a supplier for the exception message to use if the assertion fails
        Throws:
        IllegalArgumentException - if the text does not contain valid text content
      • doesNotContain

        public static void doesNotContain​(String textToSearch,
                                          String substring,
                                          String message)
        Assert that the given text does not contain the given substring.
        Assert.doesNotContain(name, "rod", "Name must not contain 'rod'");
        Parameters:
        textToSearch - the text to search
        substring - the substring to find within the text
        message - the exception message to use if the assertion fails
        Throws:
        IllegalArgumentException - if the text contains the substring
      • doesNotContain

        public static void doesNotContain​(String textToSearch,
                                          String substring,
                                          Supplier<String> messageSupplier)
        Assert that the given text does not contain the given substring.
         Assert.doesNotContain(name, forbidden, () -> "Name must not contain '" + forbidden + "'");
         
        Parameters:
        textToSearch - the text to search
        substring - the substring to find within the text
        messageSupplier - a supplier for the exception message to use if the assertion fails
        Throws:
        IllegalArgumentException - if the text contains the substring
      • notEmpty

        public static void notEmpty​(Object[] array,
                                    String message)
        Assert that an array contains elements; that is, it must not be null and must contain at least one element.
        Assert.notEmpty(array, "The array must contain elements");
        Parameters:
        array - the array to check
        message - the exception message to use if the assertion fails
        Throws:
        IllegalArgumentException - if the object array is null or contains no elements
      • notEmpty

        public static void notEmpty​(Object[] array,
                                    Supplier<String> messageSupplier)
        Assert that an array contains elements; that is, it must not be null and must contain at least one element.
         Assert.notEmpty(array, () -> "The " + arrayType + " array must contain elements");
         
        Parameters:
        array - the array to check
        messageSupplier - a supplier for the exception message to use if the assertion fails
        Throws:
        IllegalArgumentException - if the object array is null or contains no elements
      • noNullElements

        public static void noNullElements​(Object[] array,
                                          String message)
        Assert that an array contains no null elements.

        Note: Does not complain if the array is empty!

        Assert.noNullElements(array, "The array must contain non-null elements");
        Parameters:
        array - the array to check
        message - the exception message to use if the assertion fails
        Throws:
        IllegalArgumentException - if the object array contains a null element
      • noNullElements

        public static void noNullElements​(Object[] array,
                                          Supplier<String> messageSupplier)
        Assert that an array contains no null elements.

        Note: Does not complain if the array is empty!

         Assert.noNullElements(array, () -> "The " + arrayType + " array must contain non-null elements");
         
        Parameters:
        array - the array to check
        messageSupplier - a supplier for the exception message to use if the assertion fails
        Throws:
        IllegalArgumentException - if the object array contains a null element
      • notEmpty

        public static void notEmpty​(Collection<?> collection,
                                    String message)
        Assert that a collection contains elements; that is, it must not be null and must contain at least one element.
        Assert.notEmpty(collection, "Collection must contain elements");
        Parameters:
        collection - the collection to check
        message - the exception message to use if the assertion fails
        Throws:
        IllegalArgumentException - if the collection is null or contains no elements
      • notEmpty

        public static void notEmpty​(Collection<?> collection,
                                    Supplier<String> messageSupplier)
        Assert that a collection contains elements; that is, it must not be null and must contain at least one element.
         Assert.notEmpty(collection, () -> "The " + collectionType + " collection must contain elements");
         
        Parameters:
        collection - the collection to check
        messageSupplier - a supplier for the exception message to use if the assertion fails
        Throws:
        IllegalArgumentException - if the collection is null or contains no elements
      • noNullElements

        public static void noNullElements​(Collection<?> collection,
                                          String message)
        Assert that a collection contains no null elements.

        Note: Does not complain if the collection is empty!

        Assert.noNullElements(collection, "Collection must contain non-null elements");
        Parameters:
        collection - the collection to check
        message - the exception message to use if the assertion fails
        Throws:
        IllegalArgumentException - if the collection contains a null element
      • noNullElements

        public static void noNullElements​(Collection<?> collection,
                                          Supplier<String> messageSupplier)
        Assert that a collection contains no null elements.

        Note: Does not complain if the collection is empty!

         Assert.noNullElements(collection, () -> "Collection " + collectionName + " must contain non-null elements");
         
        Parameters:
        collection - the collection to check
        messageSupplier - a supplier for the exception message to use if the assertion fails
        Throws:
        IllegalArgumentException - if the collection contains a null element
      • notEmpty

        public static void notEmpty​(Map<?,​?> map,
                                    String message)
        Assert that a Map contains entries; that is, it must not be null and must contain at least one entry.
        Assert.notEmpty(map, "Map must contain entries");
        Parameters:
        map - the map to check
        message - the exception message to use if the assertion fails
        Throws:
        IllegalArgumentException - if the map is null or contains no entries
      • notEmpty

        public static void notEmpty​(Map<?,​?> map,
                                    Supplier<String> messageSupplier)
        Assert that a Map contains entries; that is, it must not be null and must contain at least one entry.
         Assert.notEmpty(map, () -> "The " + mapType + " map must contain entries");
         
        Parameters:
        map - the map to check
        messageSupplier - a supplier for the exception message to use if the assertion fails
        Throws:
        IllegalArgumentException - if the map is null or contains no entries
      • isInstanceOf

        public static void isInstanceOf​(Class<?> type,
                                        Object obj,
                                        String message)
        Assert that the provided object is an instance of the provided class.
        Assert.instanceOf(Foo.class, foo, "Foo expected");
        Parameters:
        type - the type to check against
        obj - the object to check
        message - a message which will be prepended to provide further context. If it is empty or ends in ":" or ";" or "," or ".", a full exception message will be appended. If it ends in a space, the name of the offending object's type will be appended. In any other case, a ":" with a space and the name of the offending object's type will be appended.
        Throws:
        IllegalArgumentException - if the object is not an instance of type
      • isInstanceOf

        public static void isInstanceOf​(Class<?> type,
                                        Object obj,
                                        Supplier<String> messageSupplier)
        Assert that the provided object is an instance of the provided class.
         Assert.instanceOf(Foo.class, foo, () -> "Processing " + Foo.class.getSimpleName() + ":");
         
        Parameters:
        type - the type to check against
        obj - the object to check
        messageSupplier - a supplier for the exception message to use if the assertion fails. See isInstanceOf(Class, Object, String) for details.
        Throws:
        IllegalArgumentException - if the object is not an instance of type
      • isInstanceOf

        public static void isInstanceOf​(Class<?> type,
                                        Object obj)
        Assert that the provided object is an instance of the provided class.
        Assert.instanceOf(Foo.class, foo);
        Parameters:
        type - the type to check against
        obj - the object to check
        Throws:
        IllegalArgumentException - if the object is not an instance of type
      • isAssignable

        public static void isAssignable​(Class<?> superType,
                                        Class<?> subType,
                                        String message)
        Assert that superType.isAssignableFrom(subType) is true.
        Assert.isAssignable(Number.class, myClass, "Number expected");
        Parameters:
        superType - the super type to check against
        subType - the sub type to check
        message - a message which will be prepended to provide further context. If it is empty or ends in ":" or ";" or "," or ".", a full exception message will be appended. If it ends in a space, the name of the offending sub type will be appended. In any other case, a ":" with a space and the name of the offending sub type will be appended.
        Throws:
        IllegalArgumentException - if the classes are not assignable
      • isAssignable

        public static void isAssignable​(Class<?> superType,
                                        Class<?> subType,
                                        Supplier<String> messageSupplier)
        Assert that superType.isAssignableFrom(subType) is true.
         Assert.isAssignable(Number.class, myClass, () -> "Processing " + myAttributeName + ":");
         
        Parameters:
        superType - the super type to check against
        subType - the sub type to check
        messageSupplier - a supplier for the exception message to use if the assertion fails. See isAssignable(Class, Class, String) for details.
        Throws:
        IllegalArgumentException - if the classes are not assignable
      • isAssignable

        public static void isAssignable​(Class<?> superType,
                                        Class<?> subType)
        Assert that superType.isAssignableFrom(subType) is true.
        Assert.isAssignable(Number.class, myClass);
        Parameters:
        superType - the super type to check
        subType - the sub type to check
        Throws:
        IllegalArgumentException - if the classes are not assignable