Class AbstractTestComparator

java.lang.Object
junit.framework.Assert
junit.framework.TestCase
org.apache.commons.collections.BulkTest
org.apache.commons.collections.AbstractTestObject
org.apache.commons.collections.comparators.AbstractTestComparator
All Implemented Interfaces:
Cloneable, junit.framework.Test

public abstract class AbstractTestComparator extends AbstractTestObject
Abstract test class for testing the Comparator interface.

Concrete subclasses declare the comparator to be tested. They also declare certain aspects of the tests.

  • Constructor Details

    • AbstractTestComparator

      public AbstractTestComparator(String testName)
      JUnit constructor.
      Parameters:
      testName - the test class name
  • Method Details

    • makeComparator

      public abstract Comparator makeComparator()
      Implement this method to return the comparator to test.
      Returns:
      the comparator to test
    • getComparableObjectsOrdered

      public abstract List getComparableObjectsOrdered()
      Implement this method to return a list of sorted objects.
      Returns:
      sorted objects
    • makeObject

      public Object makeObject()
      Implements the abstract superclass method to return the comparator.
      Specified by:
      makeObject in class AbstractTestObject
      Returns:
      a full iterator
    • supportsEmptyCollections

      public boolean supportsEmptyCollections()
      Overrides superclass to block tests.
      Overrides:
      supportsEmptyCollections in class AbstractTestObject
      Returns:
      true
    • supportsFullCollections

      public boolean supportsFullCollections()
      Overrides superclass to block tests.
      Overrides:
      supportsFullCollections in class AbstractTestObject
      Returns:
      true
    • getCompatibilityVersion

      public String getCompatibilityVersion()
      Overrides superclass to set the compatability to version 2 as there were no Comparators in version 1.x.
      Overrides:
      getCompatibilityVersion in class AbstractTestObject
      Returns:
      The version, or null if this object shouldn't be tested for compatibility with previous versions.
    • reverseObjects

      protected void reverseObjects(List list)
      Reverse the list.
    • randomizeObjects

      protected void randomizeObjects(List list)
      Randomize the list.
    • sortObjects

      protected void sortObjects(List list, Comparator comparator)
      Sort the list.
    • testEmptyListSort

      public void testEmptyListSort()
      Test sorting an empty list
    • testReverseListSort

      public void testReverseListSort()
      Test sorting a reversed list.
    • testRandomListSort

      public void testRandomListSort()
      Test sorting a random list.
    • testComparatorIsSerializable

      public void testComparatorIsSerializable()
      Nearly all Comparators should be Serializable.
    • getCanonicalComparatorName

      public String getCanonicalComparatorName(Object object)
    • testComparatorCompatibility

      public void testComparatorCompatibility() throws IOException, ClassNotFoundException
      Compare the current serialized form of the Comparator against the canonical version in CVS.
      Throws:
      IOException
      ClassNotFoundException