GraphVersion { public boolean deepEquals(GraphVersion obj) { if (obj == null) { return false; } final GraphVersion other = (GraphVersion) obj; if (this.nodeVersion != other.nodeVersion) { return false; } if (this.edgeVersion != other.edgeVersion) { return false; } return true; } GraphVersion(Graph graph); int incrementAndGetNodeVersion(); int incrementAndGetEdgeVersion(); int deepHashCode(); boolean deepEquals(GraphVersion obj);  }
@Test public void testDeepEquals() { GraphVersion g1 = new GraphVersion(null); g1.nodeVersion = 5; g1.edgeVersion = 10; GraphVersion g2 = new GraphVersion(null); g2.nodeVersion = 5; g2.edgeVersion = 10; GraphVersion g3 = new GraphVersion(null); g3.nodeVersion = 5; g3.edgeVersion = 0; GraphVersion g4 = new GraphVersion(null); g4.nodeVersion = 0; g4.edgeVersion = 10; Assert.assertFalse(g1.deepEquals(null)); Assert.assertTrue(g1.deepEquals(g2)); Assert.assertFalse(g1.deepEquals(g3)); Assert.assertFalse(g1.deepEquals(g4)); }