Author: bayard
Date: Sun Aug 21 17:26:36 2011
New Revision: 1160015

URL: http://svn.apache.org/viewvc?rev=1160015&view=rev
Log:
Filling out ReverseComparator testing

Modified:
    
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/compare/ReverseComparatorTest.java

Modified: 
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/compare/ReverseComparatorTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/compare/ReverseComparatorTest.java?rev=1160015&r1=1160014&r2=1160015&view=diff
==============================================================================
--- 
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/compare/ReverseComparatorTest.java
 (original)
+++ 
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/compare/ReverseComparatorTest.java
 Sun Aug 21 17:26:36 2011
@@ -49,4 +49,39 @@ public class ReverseComparatorTest {
         assertTrue("Comparison wasn't reversed", rc.compare( "aardvark", "baa" 
) > 0 );
     }
 
+    @Test
+    public void testTwoCallsCancel() {
+        ReverseComparator rc = new ReverseComparator(new ReverseComparator());
+
+        // back to front tests
+        assertTrue("Reversal wasn't cancelled out", rc.compare( 1, 2 ) < 0 );
+        assertTrue("Reversal wasn't cancelled out", rc.compare( 2, 1 ) > 0 );
+        assertTrue("Reversal wasn't cancelled out", rc.compare( "aardvark", 
"baa" ) < 0 );
+        assertTrue("Reversal wasn't cancelled out", rc.compare( "baa", 
"aardvark" ) > 0 );
+    }
+
+    @Test
+    public void testEquality() {
+        ReverseComparator rc1 = new ReverseComparator();
+        ReverseComparator rc2 = new ReverseComparator(rc1);
+        ReverseComparator rc3 = new ReverseComparator(rc1);
+
+        // test same instance
+        assertTrue("Same instance wasn't equal", rc1.equals(rc1));
+        assertEquals("Equal instance has different hash code", rc1.hashCode(), 
rc1.hashCode());
+
+        // test null not equal
+        assertFalse("Null was equal", rc1.equals(null));
+
+        // test diff subcomparator not equal
+        assertFalse("Was equal despite different nested comparators", 
rc1.equals(rc2));
+
+        // test same subcomparator equal
+        assertTrue("Wasn't equal despite same nested comparator", 
rc2.equals(rc3));
+        assertEquals("Same subcomparator had different hash code", 
rc2.hashCode(), rc3.hashCode());
+
+        // test different type not equal
+        assertFalse("Was equal despite not being same class", 
rc1.equals(this));
+    }
+
 }


Reply via email to