@Test public void hashcode_equals_should_work() { Zone zone = new Zone(); zone.setDescription("Test description"); zone.setInfraId(1); zone.setIp(0xC0A80001L); Zone zone2 = new Zone(); zone2.setDescription("Test description2"); zone2.setInfraId(2); zone2.setIp(0xC0A80002L); Assert.assertEquals(zone, zone); Assert.assertNotEquals(zone, null); Assert.assertNotEquals(null, zone2); Assert.assertNotEquals(zone, new String()); Assert.assertNotEquals(zone, zone2); Assert.assertNotEquals(zone.hashCode(), zone2.hashCode()); zone2.setInfraId(1); Assert.assertNotEquals(zone, zone2); Assert.assertNotEquals(zone.hashCode(), zone2.hashCode()); zone2.setIp(0xC0A80001L); Assert.assertEquals(zone, zone2); Assert.assertEquals(zone.hashCode(), zone2.hashCode()); zone.setInfraId(null); Assert.assertNotEquals(zone, zone2); Assert.assertNotEquals(zone.hashCode(), zone2.hashCode()); zone2.setInfraId(null); zone.setIp(null); Assert.assertNotEquals(zone, zone2); Assert.assertNotEquals(zone.hashCode(), zone2.hashCode()); zone2.setIp(null); Assert.assertEquals(zone, zone2); Assert.assertEquals(zone.hashCode(), zone2.hashCode()); }