EdgeTypeStore { public int deepHashCode() { int hash = 3; short[] keys = idMap.keySet().toShortArray(); Arrays.sort(keys); for (int i = 0; i < keys.length; i++) { Short s = keys[i]; Object o = idMap.get(s); hash = 67 * hash + (o != null ? o.hashCode() : 0); hash = 67 * hash + s.hashCode(); } return hash; } EdgeTypeStore();  EdgeTypeStore(Configuration config); int getId(final Object label); Object getLabel(final int id); int addType(final Object label); boolean addType(final Object label, final int id); int removeType(final Object label); Object removeType(final int type); Object[] getLabels(); int[] getIdsAsInts(); boolean contains(final Object label); boolean contains(final int id); void clear(); int size(); int deepHashCode(); boolean deepEquals(Object obj); final static int MAX_SIZE; }
@Test public void testDeepHashCodeEmpty() { EdgeTypeStore edgeTypeStore1 = new EdgeTypeStore(); Assert.assertEquals(edgeTypeStore1.deepHashCode(), edgeTypeStore1.deepHashCode()); EdgeTypeStore edgeTypeStore2 = new EdgeTypeStore(); Assert.assertEquals(edgeTypeStore1.deepHashCode(), edgeTypeStore2.deepHashCode()); }
@Test public void testDeepHashCode() { EdgeTypeStore edgeTypeStore1 = new EdgeTypeStore(); edgeTypeStore1.addType("Foo"); edgeTypeStore1.addType("Bar"); edgeTypeStore1.removeType("Foo"); EdgeTypeStore edgeTypeStore2 = new EdgeTypeStore(); edgeTypeStore2.addType("Foo"); edgeTypeStore2.addType("Bar"); edgeTypeStore2.removeType("Foo"); EdgeTypeStore edgeTypeStore3 = new EdgeTypeStore(); edgeTypeStore3.addType("Foo"); Assert.assertEquals(edgeTypeStore1.deepHashCode(), edgeTypeStore2.deepHashCode()); Assert.assertNotEquals(edgeTypeStore1.deepHashCode(), edgeTypeStore3.deepHashCode()); }