private void checkSizes(int expectedSize) { assertEquals("size()", _nbhml.size(), expectedSize); Collection<String> vals = _nbhml.values(); checkSizes("values()", vals.size(), vals.iterator(), expectedSize); Set<Long> keys = _nbhml.keySet(); checkSizes("keySet()", keys.size(), keys.iterator(), expectedSize); Set<Map.Entry<Long, String>> ents = _nbhml.entrySet(); checkSizes("entrySet()", ents.size(), ents.iterator(), expectedSize); }
assertEquals("entrySet().size()", ITEM_COUNT, nbhml.entrySet().size()); int itemCount = 0; for (TestKey K : nbhml.values())
@Test public void testIteration() { assertTrue(_nbhml.isEmpty()); assertThat(_nbhml.put(1, "v1"), nullValue()); assertThat(_nbhml.put(2, "v2"), nullValue()); String str1 = ""; for (Map.Entry<Long, String> e : _nbhml.entrySet()) { str1 += e.getKey(); } assertThat("found all entries", str1, anyOf(is("12"), is("21"))); String str2 = ""; for (Long key : _nbhml.keySet()) { str2 += key; } assertThat("found all keys", str2, anyOf(is("12"), is("21"))); String str3 = ""; for (String val : _nbhml.values()) { str3 += val; } assertThat("found all vals", str3, anyOf(is("v1v2"), is("v2v1"))); assertThat("toString works", _nbhml.toString(), anyOf(is("{1=v1, 2=v2}"), is("{2=v2, 1=v1}"))); _nbhml.clear(); }
@Test public void testNonBlockingHashMapIteratorMultithreaded() throws InterruptedException, ExecutionException { TestKeyFeeder feeder = getTestKeyFeeder(); final int itemCount = feeder.size(); // validate results final NonBlockingHashMapLong<TestKey> items = feeder.getMapMultithreaded(); assertEquals("size()", itemCount, items.size()); assertEquals("values().size()", itemCount, items.values().size()); assertEquals("entrySet().size()", itemCount, items.entrySet().size()); int iteratorCount = 0; for (TestKey m : items.values()) { iteratorCount++; } // sometimes a different result comes back the second time int iteratorCount2 = 0; for (TestKey m2 : items.values()) { iteratorCount2++; } assertEquals("iterator counts differ", iteratorCount, iteratorCount2); assertEquals("values().iterator() count", itemCount, iteratorCount); }