protected void assertIterateOverSubtreeWhenUsingHasNextAndNext( NodeKey startingKey ) { Set<NodeKey> expected = findAllNodesAtOrBelow(startingKey); Iterator<NodeKey> iter = cache.getAllNodeKeysAtAndBelow(startingKey); while (iter.hasNext()) { NodeKey key = iter.next(); assertThat(key, is(notNullValue())); assertThat(expected.remove(key), is(true)); } assertThat(expected.isEmpty(), is(true)); }
protected void assertIterateOverSubtreeWhenUsingOnlyNext( NodeKey startingKey ) { Set<NodeKey> expected = findAllNodesAtOrBelow(startingKey); Iterator<NodeKey> iter = cache.getAllNodeKeysAtAndBelow(startingKey); long size = expected.size(); for (int i = 0; i != size; ++i) { NodeKey key = iter.next(); assertThat(key, is(notNullValue())); assertThat(expected.remove(key), is(true)); } assertThat(expected.isEmpty(), is(true)); try { iter.next(); fail("Should have thrown a NoSuchElementException"); } catch (NoSuchElementException e) { // expected } }
when(cache.getAllNodeKeysAtAndBelow((NodeKey)anyObject())).thenAnswer(new Answer<Iterator<NodeKey>>() { @Override public Iterator<NodeKey> answer( InvocationOnMock invocation ) throws Throwable {