Class ComparisonCriteria

  • Direct Known Subclasses:
    ExactComparisonCriteria, InexactComparisonCriteria

    public abstract class ComparisonCriteria
    extends java.lang.Object
    Defines criteria for finding two items "equal enough". Concrete subclasses may demand exact equality, or, for example, equality within a given delta.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static java.lang.Object END_OF_ARRAY_SENTINEL  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void arrayEquals​(java.lang.String message, java.lang.Object expecteds, java.lang.Object actuals)
      Asserts that two arrays are equal, according to the criteria defined by the concrete subclass.
      private void arrayEquals​(java.lang.String message, java.lang.Object expecteds, java.lang.Object actuals, boolean outer)  
      protected abstract void assertElementsEqual​(java.lang.Object expected, java.lang.Object actual)  
      private java.lang.String componentTypeName​(java.lang.Class<?> arrayClass)  
      private java.lang.Object getToStringableArrayElement​(java.lang.Object array, int length, int index)  
      private boolean isArray​(java.lang.Object expected)  
      private static java.lang.Object objectWithToString​(java.lang.String string)  
      • Methods inherited from class java.lang.Object

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

      • END_OF_ARRAY_SENTINEL

        private static final java.lang.Object END_OF_ARRAY_SENTINEL
    • Constructor Detail

      • ComparisonCriteria

        public ComparisonCriteria()
    • Method Detail

      • arrayEquals

        public void arrayEquals​(java.lang.String message,
                                java.lang.Object expecteds,
                                java.lang.Object actuals)
                         throws ArrayComparisonFailure
        Asserts that two arrays are equal, according to the criteria defined by the concrete subclass. If they are not, an AssertionError is thrown with the given message. If expecteds and actuals are null, they are considered equal.
        Parameters:
        message - the identifying message for the AssertionError ( null okay)
        expecteds - Object array or array of arrays (multi-dimensional array) with expected values.
        actuals - Object array or array of arrays (multi-dimensional array) with actual values
        Throws:
        ArrayComparisonFailure
      • getToStringableArrayElement

        private java.lang.Object getToStringableArrayElement​(java.lang.Object array,
                                                             int length,
                                                             int index)
      • objectWithToString

        private static java.lang.Object objectWithToString​(java.lang.String string)
      • componentTypeName

        private java.lang.String componentTypeName​(java.lang.Class<?> arrayClass)
      • isArray

        private boolean isArray​(java.lang.Object expected)
      • assertElementsEqual

        protected abstract void assertElementsEqual​(java.lang.Object expected,
                                                    java.lang.Object actual)