equals and hashcode for robust identifiable.
[xmlrouter] / impl / src / test / java / org / wamblee / xmlrouter / impl / RobustIdentifiableTest.java
index f8fcd5cbbfb7d28e955481ca2f83fa4150fde3cc..257ea93a171d93c99ded1fa7ff9e27e4e027ac18 100644 (file)
@@ -58,4 +58,29 @@ public class RobustIdentifiableTest {
         when(ident.getId()).thenReturn(new Id<Integer>("myid2"));
         assertEquals("prefix.myid", robust.getId().toString());
     }
+
+    @Test
+    public void testEqualsHashCode() {
+        Identifiable<Integer> ident1 = mock(Identifiable.class);
+        Identifiable<Integer> ident2 = mock(Identifiable.class);
+        Identifiable<Integer> ident3 = mock(Identifiable.class);
+
+        when(ident1.getId()).thenReturn(new Id<Integer>("x"));
+        when(ident2.getId()).thenReturn(new Id<Integer>("y"));
+        when(ident3.getId()).thenReturn(new Id<Integer>("x"));
+
+        RobustIdentifiable<Integer> robust1 = new RobustIdentifiable<Integer>(
+            "prefix.", ident1);
+        RobustIdentifiable<Integer> robust2 = new RobustIdentifiable<Integer>(
+            "prefix.", ident2);
+        RobustIdentifiable<Integer> robust3 = new RobustIdentifiable<Integer>(
+            "prefix.", ident3);
+
+        assertEquals(robust1, robust1);
+        assertEquals(robust1, robust3);
+        assertFalse(robust1.equals(robust2));
+        assertFalse(robust1.equals("x"));
+
+        assertEquals(robust1.hashCode(), robust3.hashCode());
+    }
 }