package org.apache.commons.collections4.comparators; import java.util.Comparator; import java.util.LinkedList; import java.util.List; import junit.framework.Test; import junit.framework.TestSuite; /** * Test the NullComparator. * * @version $Id$ */ public abstract class AbstractNullComparatorTest extends AbstractComparatorTest<java.lang.Integer> { public AbstractNullComparatorTest(final String testName) { super(testName); } public static Test suite() { final TestSuite suite = new TestSuite(AbstractNullComparatorTest.class.getName()); suite.addTest(new TestSuite(TestNullComparator1.class)); suite.addTest(new TestSuite(TestNullComparator2.class)); return suite; } /** * Test the NullComparator with nulls high, using comparable comparator */ public static class TestNullComparator1 extends AbstractNullComparatorTest { public TestNullComparator1(final String testName) { super(testName); } @Override public Comparator<java.lang.Integer> makeObject() { return new NullComparator<java.lang.Integer>(); } @Override public List<java.lang.Integer> getComparableObjectsOrdered() { final List<java.lang.Integer> list = new LinkedList<java.lang.Integer>(); list.add(Integer.valueOf(1)); list.add(Integer.valueOf(2)); list.add(Integer.valueOf(3)); list.add(Integer.valueOf(4)); list.add(Integer.valueOf(5)); list.add(null); return list; } @Override public String getCanonicalComparatorName(final Object object) { return (super.getCanonicalComparatorName(object)) + "1"; } @Override public String getCompatibilityVersion() { return "4"; } } /** * Test the NullComparator with nulls low using the comparable comparator */ public static class TestNullComparator2 extends AbstractNullComparatorTest { public TestNullComparator2(final String testName) { super(testName); } @Override public Comparator<java.lang.Integer> makeObject() { return new NullComparator<java.lang.Integer>(false); } @Override public List<java.lang.Integer> getComparableObjectsOrdered() { final List<java.lang.Integer> list = new LinkedList<java.lang.Integer>(); list.add(null); list.add(Integer.valueOf(1)); list.add(Integer.valueOf(2)); list.add(Integer.valueOf(3)); list.add(Integer.valueOf(4)); list.add(Integer.valueOf(5)); return list; } @Override public String getCanonicalComparatorName(final Object object) { return (super.getCanonicalComparatorName(object)) + "2"; } @Override public String getCompatibilityVersion() { return "4"; } } }