Class Classes


  • public class Classes
    extends java.lang.Object
    Reusable assertions for Classs.
    • Constructor Summary

      Constructors 
      Constructor Description
      Classes()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void assertContainsAnnotations​(AssertionInfo info, java.lang.Class<?> actual, java.lang.Class<? extends java.lang.annotation.Annotation>[] annotations)
      Verifies that the actual Class contains the given Annotations.
      void assertHasDeclaredFields​(AssertionInfo info, java.lang.Class<?> actual, java.lang.String... fields)
      Verifies that the actual Class has the declared fields.
      void assertHasDeclaredMethods​(AssertionInfo info, java.lang.Class<?> actual, java.lang.String... methods)
      Verifies that the actual Class has the declared methods.
      void assertHasMethods​(AssertionInfo info, java.lang.Class<?> actual, java.lang.String... methods)
      Verifies that the actual Class has the methods.
      void assertHasOnlyDeclaredFields​(AssertionInfo info, java.lang.Class<?> actual, java.lang.String... expectedFields)
      Verifies that the actual Class has the exactly the fields and nothing more.
      void assertHasOnlyPublicFields​(AssertionInfo info, java.lang.Class<?> actual, java.lang.String... expectedFields)
      Verifies that the actual Class has only the fields and nothing more.
      void assertHasPublicFields​(AssertionInfo info, java.lang.Class<?> actual, java.lang.String... fields)
      Verifies that the actual Class has the fields.
      void assertHasPublicMethods​(AssertionInfo info, java.lang.Class<?> actual, java.lang.String... methods)
      Verifies that the actual Class has the public methods.
      void assertIsAssignableFrom​(AssertionInfo info, java.lang.Class<?> actual, java.lang.Class<?>... others)
      Verifies that the actual Class is assignable from all the others classes.
      private static void assertNotNull​(AssertionInfo info, java.lang.Class<?> actual)  
      private static void classParameterIsNotNull​(java.lang.Class<?> clazz)
      used to check that the class to compare is not null, in that case throws a NullPointerException with an explicit message.
      private void doAssertHasMethods​(AssertionInfo info, java.lang.Class<?> actual, java.util.Set<java.lang.reflect.Method> actualMethods, boolean declared, java.lang.String... expectedMethods)  
      private static java.util.Set<java.lang.String> fieldsToName​(java.util.Set<java.lang.reflect.Field> fields)  
      private static <M extends java.lang.reflect.Member>
      java.util.Set<M>
      filterSyntheticMembers​(M[] members)  
      private static java.lang.reflect.Method[] getAllMethods​(java.lang.Class<?> actual)  
      private static java.util.SortedSet<java.lang.String> getMethodsWithModifier​(java.util.Set<java.lang.reflect.Method> methods, int modifier)  
      private static boolean hasPublicMethods​(java.lang.reflect.Method[] methods)  
      static Classes instance()
      Returns the singleton instance of this class.
      private static java.util.SortedSet<java.lang.String> methodsToName​(java.util.Set<java.lang.reflect.Method> methods)  
      private static java.util.Map<java.lang.String,​java.lang.Integer> methodsToNameAndModifier​(java.lang.reflect.Method[] methods)  
      private static boolean noMissingElement​(java.util.Set<java.lang.String> actualNames, java.util.Set<java.lang.String> expectedNames, java.util.Set<java.lang.String> missingNames)
      Checks that the expectedNames are part of the actualNames.
      private static boolean noNonMatchingModifier​(java.util.Set<java.lang.String> expectedMethodNames, java.util.Map<java.lang.String,​java.lang.Integer> methodsModifier, java.util.Map<java.lang.String,​java.lang.String> nonMatchingModifiers, int modifier)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Classes

        public Classes()
    • Method Detail

      • instance

        public static Classes instance()
        Returns the singleton instance of this class.
        Returns:
        the singleton instance of this class.
      • assertIsAssignableFrom

        public void assertIsAssignableFrom​(AssertionInfo info,
                                           java.lang.Class<?> actual,
                                           java.lang.Class<?>... others)
        Verifies that the actual Class is assignable from all the others classes.
        Parameters:
        info - contains information about the assertion.
        actual - the "actual" Class.
        others - the others Class who this actual class must be assignable.
        Throws:
        java.lang.NullPointerException - if one of the others is null.
        java.lang.AssertionError - if actual is null.
        java.lang.AssertionError - if the actual Class is not assignable from all of the others classes.
      • assertContainsAnnotations

        public void assertContainsAnnotations​(AssertionInfo info,
                                              java.lang.Class<?> actual,
                                              java.lang.Class<? extends java.lang.annotation.Annotation>[] annotations)
        Verifies that the actual Class contains the given Annotations.
        Parameters:
        info - contains information about the assertion.
        actual - the "actual" Class.
        annotations - annotations who must be attached to the class
        Throws:
        java.lang.AssertionError - if actual is null.
        java.lang.AssertionError - if the actual Class doesn't contains all of these annotations.
      • assertHasPublicFields

        public void assertHasPublicFields​(AssertionInfo info,
                                          java.lang.Class<?> actual,
                                          java.lang.String... fields)
        Verifies that the actual Class has the fields.
        Parameters:
        info - contains information about the assertion.
        actual - the "actual" Class.
        fields - the fields who must be present in the class.
        Throws:
        java.lang.AssertionError - if actual is null.
        java.lang.AssertionError - if the actual Class doesn't contains all of the field.
      • assertHasOnlyPublicFields

        public void assertHasOnlyPublicFields​(AssertionInfo info,
                                              java.lang.Class<?> actual,
                                              java.lang.String... expectedFields)
        Verifies that the actual Class has only the fields and nothing more. in any order.
        Parameters:
        info - contains information about the assertion.
        actual - the "actual" Class.
        expectedFields - all the fields that are expected to be in the class.
        Throws:
        java.lang.AssertionError - if actual is null.
        java.lang.AssertionError - if fields are not all the fields of the actual Class.
      • noMissingElement

        private static boolean noMissingElement​(java.util.Set<java.lang.String> actualNames,
                                                java.util.Set<java.lang.String> expectedNames,
                                                java.util.Set<java.lang.String> missingNames)
        Checks that the expectedNames are part of the actualNames. If an expectedName is not contained in the actualNames, the this method will return true. THe missingNames will contain all the expectedNames that are not part of the actualNames.
        Parameters:
        actualNames - the names that should be used to check
        expectedNames - the names that should be contained in actualNames
        missingNames - the names that were not part of expectedNames
        Returns:
        true if all expectedNames are part of the actualNames, false otherwise
      • assertHasDeclaredFields

        public void assertHasDeclaredFields​(AssertionInfo info,
                                            java.lang.Class<?> actual,
                                            java.lang.String... fields)
        Verifies that the actual Class has the declared fields.
        Parameters:
        info - contains information about the assertion.
        actual - the "actual" Class.
        fields - the fields who must be declared in the class.
        Throws:
        java.lang.AssertionError - if actual is null.
        java.lang.AssertionError - if the actual Class doesn't contains all of the field.
      • assertHasOnlyDeclaredFields

        public void assertHasOnlyDeclaredFields​(AssertionInfo info,
                                                java.lang.Class<?> actual,
                                                java.lang.String... expectedFields)
        Verifies that the actual Class has the exactly the fields and nothing more. in any order.
        Parameters:
        info - contains information about the assertion.
        actual - the "actual" Class.
        expectedFields - all the fields that are expected to be in the class.
        Throws:
        java.lang.AssertionError - if actual is null.
        java.lang.AssertionError - if fields are not all the fields of the actual Class.
      • fieldsToName

        private static java.util.Set<java.lang.String> fieldsToName​(java.util.Set<java.lang.reflect.Field> fields)
      • assertHasMethods

        public void assertHasMethods​(AssertionInfo info,
                                     java.lang.Class<?> actual,
                                     java.lang.String... methods)
        Verifies that the actual Class has the methods.
        Parameters:
        info - contains information about the assertion.
        actual - the "actual" Class.
        methods - the methods who must be present in the class.
        Throws:
        java.lang.AssertionError - if actual is null.
        java.lang.AssertionError - if the actual Class doesn't contains all the methods.
      • assertHasDeclaredMethods

        public void assertHasDeclaredMethods​(AssertionInfo info,
                                             java.lang.Class<?> actual,
                                             java.lang.String... methods)
        Verifies that the actual Class has the declared methods.
        Parameters:
        info - contains information about the assertion.
        actual - the "actual" Class.
        methods - the methods who must be declared in the class.
        Throws:
        java.lang.AssertionError - if actual is null.
        java.lang.AssertionError - if the actual Class doesn't contains all the methods.
      • doAssertHasMethods

        private void doAssertHasMethods​(AssertionInfo info,
                                        java.lang.Class<?> actual,
                                        java.util.Set<java.lang.reflect.Method> actualMethods,
                                        boolean declared,
                                        java.lang.String... expectedMethods)
      • assertHasPublicMethods

        public void assertHasPublicMethods​(AssertionInfo info,
                                           java.lang.Class<?> actual,
                                           java.lang.String... methods)
        Verifies that the actual Class has the public methods.
        Parameters:
        info - contains information about the assertion.
        actual - the "actual" Class.
        methods - the public methods who must be present in the class.
        Throws:
        java.lang.AssertionError - if actual is null.
        java.lang.AssertionError - if the actual Class doesn't contains all the public methods.
      • getMethodsWithModifier

        private static java.util.SortedSet<java.lang.String> getMethodsWithModifier​(java.util.Set<java.lang.reflect.Method> methods,
                                                                                    int modifier)
      • noNonMatchingModifier

        private static boolean noNonMatchingModifier​(java.util.Set<java.lang.String> expectedMethodNames,
                                                     java.util.Map<java.lang.String,​java.lang.Integer> methodsModifier,
                                                     java.util.Map<java.lang.String,​java.lang.String> nonMatchingModifiers,
                                                     int modifier)
      • hasPublicMethods

        private static boolean hasPublicMethods​(java.lang.reflect.Method[] methods)
      • methodsToName

        private static java.util.SortedSet<java.lang.String> methodsToName​(java.util.Set<java.lang.reflect.Method> methods)
      • methodsToNameAndModifier

        private static java.util.Map<java.lang.String,​java.lang.Integer> methodsToNameAndModifier​(java.lang.reflect.Method[] methods)
      • getAllMethods

        private static java.lang.reflect.Method[] getAllMethods​(java.lang.Class<?> actual)
      • filterSyntheticMembers

        private static <M extends java.lang.reflect.Member> java.util.Set<M> filterSyntheticMembers​(M[] members)
      • assertNotNull

        private static void assertNotNull​(AssertionInfo info,
                                          java.lang.Class<?> actual)
      • classParameterIsNotNull

        private static void classParameterIsNotNull​(java.lang.Class<?> clazz)
        used to check that the class to compare is not null, in that case throws a NullPointerException with an explicit message.
        Parameters:
        clazz - the date to check
        Throws:
        java.lang.NullPointerException - with an explicit message if the given class is null