@Test public void testEqualsAndHashCode() throws Exception { Property p1 = new Property("key1", PropertyValue.create(10)); Property p2 = new Property("key1", PropertyValue.create(10)); Property p3 = new Property("key1", PropertyValue.create(11)); Property p4 = new Property("key2", PropertyValue.create(10)); Property p5 = new Property("key2", PropertyValue.create(11)); assertEquals(p1, p1); assertEquals(p1, p2); assertNotEquals(p1, p3); assertNotEquals(p1, p4); assertNotEquals(p1, p5); assertEquals(p1.hashCode(), p1.hashCode()); assertEquals(p1.hashCode(), p2.hashCode()); assertNotEquals(p1.hashCode(), p3.hashCode()); assertNotEquals(p1.hashCode(), p4.hashCode()); assertNotEquals(p1.hashCode(), p5.hashCode()); }