@Test public void testBucketBucketFlat() { RevTree left = RevObjectTestSupport.INSTANCE.createFeaturesTree(leftSource, "f", CanonicalNodeNameOrder.normalizedSizeLimit(0) + 1); RevTree right = RevObjectTestSupport.INSTANCE.createFeaturesTree(rightSource, "f", CanonicalNodeNameOrder.normalizedSizeLimit(0) + 2); PreOrderDiffWalk visitor = newVisitor(left, right); when(consumer.tree(any(NodeRef.class), any(NodeRef.class))).thenReturn(true); when(consumer.bucket(any(NodeRef.class), any(NodeRef.class), any(BucketIndex.class), any(Bucket.class), any(Bucket.class))).thenReturn(true); visitor.walk(consumer); verify(consumer, times(1)).tree(any(NodeRef.class), any(NodeRef.class)); verify(consumer, times(1)).bucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).feature((NodeRef) isNull(), any(NodeRef.class)); verify(consumer, times(1)).endTree(any(NodeRef.class), any(NodeRef.class)); verify(consumer, times(1)).endBucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verifyNoMoreInteractions(consumer); }
@Test public void testBucketBucketFlat() { RevTree left = testSupport.createFeaturesTree(leftSource, "f", CanonicalNodeNameOrder.normalizedSizeLimit(0) + 1); RevTree right = testSupport.createFeaturesTree(rightSource, "f", CanonicalNodeNameOrder.normalizedSizeLimit(0) + 2); PreOrderDiffWalk visitor = newVisitor(left, right); when(consumer.tree(any(NodeRef.class), any(NodeRef.class))).thenReturn(true); when(consumer.bucket(any(NodeRef.class), any(NodeRef.class), any(BucketIndex.class), any(Bucket.class), any(Bucket.class))).thenReturn(true); visitor.walk(consumer); verify(consumer, times(1)).tree(any(NodeRef.class), any(NodeRef.class)); verify(consumer, times(1)).bucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).feature((NodeRef) isNull(), any(NodeRef.class)); verify(consumer, times(1)).endTree(any(NodeRef.class), any(NodeRef.class)); verify(consumer, times(1)).endBucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verifyNoMoreInteractions(consumer); }
@Test public void testBucketBucketFlat() { RevTree left = createFeaturesTree(leftSource, "f", CanonicalNodeNameOrder.normalizedSizeLimit(0) + 1); RevTree right = createFeaturesTree(rightSource, "f", CanonicalNodeNameOrder.normalizedSizeLimit(0) + 2); PreOrderDiffWalk visitor = newVisitor(left, right); when(consumer.tree(any(NodeRef.class), any(NodeRef.class))).thenReturn(true); when(consumer.bucket(any(NodeRef.class), any(NodeRef.class), any(BucketIndex.class), any(Bucket.class), any(Bucket.class))).thenReturn(true); visitor.walk(consumer); verify(consumer, times(1)).tree(any(NodeRef.class), any(NodeRef.class)); verify(consumer, times(1)).bucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).feature((NodeRef) isNull(), any(NodeRef.class)); verify(consumer, times(1)).endTree(any(NodeRef.class), any(NodeRef.class)); verify(consumer, times(1)).endBucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verifyNoMoreInteractions(consumer); }
verify(consumer, times(32)).endBucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).endTree(eq(lroot), eq(rroot));
verify(consumer, times(32)).endBucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).endTree(eq(lroot), eq(rroot));
@Test public void testSkipBucket() { // two bucket trees of depth 2 final int size = CanonicalNodeNameOrder.maxBucketsForLevel(0) * CanonicalNodeNameOrder.normalizedSizeLimit(0); RevTree left = createFeaturesTree(leftSource, "f", size); RevTree right = createFeaturesTree(rightSource, "f", size, 0, true);// all features // changed assertDepth(left, leftSource, 2); assertDepth(right, rightSource, 2); PreOrderDiffWalk visitor = newVisitor(left, right); final NodeRef lroot = nodeFor(left); final NodeRef rroot = nodeFor(right); // consume the root tree when(consumer.tree(eq(lroot), eq(rroot))).thenReturn(true); // skip all buckets of depth 0 when(consumer.bucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class))).thenReturn(false); visitor.walk(consumer); verify(consumer, times(1)).tree(eq(lroot), eq(rroot)); verify(consumer, times(32)).bucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); // should not be any call to consumer.features as we skipped all buckets of depth 0 (which // point to leaf trees) verify(consumer, times(0)).feature(any(NodeRef.class), any(NodeRef.class)); verify(consumer, times(32)).endBucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).endTree(eq(lroot), eq(rroot)); verifyNoMoreInteractions(consumer); }
@Test public void testBucketLeafSimple() { final int leftsize = 1 + CanonicalNodeNameOrder.normalizedSizeLimit(0); RevTree left = createFeaturesTree(leftSource, "f", leftsize); RevTree right = createFeaturesTree(rightSource, "f", 1); PreOrderDiffWalk visitor = newVisitor(left, right); // consume all when(consumer.tree(any(NodeRef.class), any(NodeRef.class))).thenReturn(true); when(consumer.bucket(any(NodeRef.class), any(NodeRef.class), any(BucketIndex.class), any(Bucket.class), any(Bucket.class))).thenReturn(true); visitor.walk(consumer); // there's only the root tree verify(consumer, times(1)).tree(any(NodeRef.class), any(NodeRef.class)); // there's only one feature on the right tree, so all right trees features fall on a single // bucket final int leftBucketCount = left.buckets().size(); final int expectedBucketCalls = leftBucketCount; verify(consumer, times(expectedBucketCalls)).bucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(leftsize - 1)).feature(any(NodeRef.class), (NodeRef) isNull()); verify(consumer, times(expectedBucketCalls)).endBucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).endTree(any(NodeRef.class), any(NodeRef.class)); verifyNoMoreInteractions(consumer); }
@Test public void testBucketBucketFlatMoreDepth() { RevTree left = createFeaturesTree(leftSource, "f", CanonicalNodeNameOrder.maxBucketsForLevel(0) * CanonicalNodeNameOrder.normalizedSizeLimit(0)); RevTree right = createFeaturesTree(rightSource, "f", CanonicalNodeNameOrder.maxBucketsForLevel(0) * CanonicalNodeNameOrder.normalizedSizeLimit(0) + 1); PreOrderDiffWalk visitor = newVisitor(left, right); when(consumer.tree(any(NodeRef.class), any(NodeRef.class))).thenReturn(true); when(consumer.bucket(any(NodeRef.class), any(NodeRef.class), any(BucketIndex.class), any(Bucket.class), any(Bucket.class))).thenReturn(true); visitor.walk(consumer); verify(consumer, times(1)).tree(any(NodeRef.class), any(NodeRef.class)); // consumer.bucket should be called for depth 0 and then 1 verify(consumer, times(1)).bucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).bucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(1)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).feature((NodeRef) isNull(), any(NodeRef.class)); verify(consumer, times(1)).endBucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).endBucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(1)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).endTree(any(NodeRef.class), any(NodeRef.class)); verifyNoMoreInteractions(consumer); }
@Test public void testBucketLeafSeveral() { final int leftsize = 1 + CanonicalNodeNameOrder.normalizedSizeLimit(0); RevTree left = RevObjectTestSupport.INSTANCE.createFeaturesTree(leftSource, "f", leftsize); RevTree right = RevObjectTestSupport.INSTANCE.createFeaturesTree(rightSource, "f", 1); PreOrderDiffWalk visitor = newVisitor(left, right); // consume all when(consumer.tree(any(NodeRef.class), any(NodeRef.class))).thenReturn(true); when(consumer.bucket(any(NodeRef.class), any(NodeRef.class), any(BucketIndex.class), any(Bucket.class), any(Bucket.class))).thenReturn(true); visitor.walk(consumer); // there's only the root tree verify(consumer, times(1)).tree(any(NodeRef.class), any(NodeRef.class)); // there's only one feature on the right tree, so all right trees features fall on a single // bucket final int leftBucketCount = left.bucketsSize(); final int expectedBucketCalls = leftBucketCount; verify(consumer, times(expectedBucketCalls)).bucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(leftsize - 1)).feature(any(NodeRef.class), (NodeRef) isNull()); verify(consumer, times(expectedBucketCalls)).endBucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).endTree(any(NodeRef.class), any(NodeRef.class)); verifyNoMoreInteractions(consumer); }
@Test public void testLeafBucketSimple() { final int rightsize = 1 + CanonicalNodeNameOrder.normalizedSizeLimit(0); RevTree left = testSupport.createFeaturesTree(leftSource, "f", 1); RevTree right = testSupport.createFeaturesTree(rightSource, "f", rightsize); PreOrderDiffWalk visitor = newVisitor(left, right); // consume all when(consumer.tree(any(NodeRef.class), any(NodeRef.class))).thenReturn(true); when(consumer.bucket(any(NodeRef.class), any(NodeRef.class), any(BucketIndex.class), any(Bucket.class), any(Bucket.class))).thenReturn(true); visitor.walk(consumer); // there's only the root tree verify(consumer, times(1)).tree(any(NodeRef.class), any(NodeRef.class)); // there's only one feature on the right tree, so all right trees features fall on a single // bucket final int leftBucketCount = right.bucketsSize(); final int expectedBucketCalls = leftBucketCount; verify(consumer, times(expectedBucketCalls)).bucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(rightsize - 1)).feature((NodeRef) isNull(), any(NodeRef.class)); verify(consumer, times(expectedBucketCalls)).endBucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).endTree(any(NodeRef.class), any(NodeRef.class)); verifyNoMoreInteractions(consumer); }
@Test public void testBucketBucketFlatMoreDepth() { RevTree left = RevObjectTestSupport.INSTANCE.createFeaturesTree(leftSource, "f", CanonicalNodeNameOrder.maxBucketsForLevel(0) * CanonicalNodeNameOrder.normalizedSizeLimit(0)); RevTree right = RevObjectTestSupport.INSTANCE.createFeaturesTree(rightSource, "f", CanonicalNodeNameOrder.maxBucketsForLevel(0) * CanonicalNodeNameOrder.normalizedSizeLimit(0) + 1); PreOrderDiffWalk visitor = newVisitor(left, right); when(consumer.tree(any(NodeRef.class), any(NodeRef.class))).thenReturn(true); when(consumer.bucket(any(NodeRef.class), any(NodeRef.class), any(BucketIndex.class), any(Bucket.class), any(Bucket.class))).thenReturn(true); visitor.walk(consumer); verify(consumer, times(1)).tree(any(NodeRef.class), any(NodeRef.class)); // consumer.bucket should be called for depth 0 and then 1 verify(consumer, times(1)).bucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).bucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(1)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).feature((NodeRef) isNull(), any(NodeRef.class)); verify(consumer, times(1)).endBucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).endBucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(1)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).endTree(any(NodeRef.class), any(NodeRef.class)); verifyNoMoreInteractions(consumer); }
@Test public void testLeafBucketSimple() { final int rightsize = 1 + CanonicalNodeNameOrder.normalizedSizeLimit(0); RevTree left = RevObjectTestSupport.INSTANCE.createFeaturesTree(leftSource, "f", 1); RevTree right = RevObjectTestSupport.INSTANCE.createFeaturesTree(rightSource, "f", rightsize); PreOrderDiffWalk visitor = newVisitor(left, right); // consume all when(consumer.tree(any(NodeRef.class), any(NodeRef.class))).thenReturn(true); when(consumer.bucket(any(NodeRef.class), any(NodeRef.class), any(BucketIndex.class), any(Bucket.class), any(Bucket.class))).thenReturn(true); visitor.walk(consumer); // there's only the root tree verify(consumer, times(1)).tree(any(NodeRef.class), any(NodeRef.class)); // there's only one feature on the right tree, so all right trees features fall on a single // bucket final int leftBucketCount = right.bucketsSize(); final int expectedBucketCalls = leftBucketCount; verify(consumer, times(expectedBucketCalls)).bucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(rightsize - 1)).feature((NodeRef) isNull(), any(NodeRef.class)); verify(consumer, times(expectedBucketCalls)).endBucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).endTree(any(NodeRef.class), any(NodeRef.class)); verifyNoMoreInteractions(consumer); }
@Test public void testBucketBucketFlatMoreDepth() { RevTree left = testSupport.createFeaturesTree(leftSource, "f", CanonicalNodeNameOrder.maxBucketsForLevel(0) * CanonicalNodeNameOrder.normalizedSizeLimit(0)); RevTree right = testSupport.createFeaturesTree(rightSource, "f", CanonicalNodeNameOrder.maxBucketsForLevel(0) * CanonicalNodeNameOrder.normalizedSizeLimit(0) + 1); PreOrderDiffWalk visitor = newVisitor(left, right); when(consumer.tree(any(NodeRef.class), any(NodeRef.class))).thenReturn(true); when(consumer.bucket(any(NodeRef.class), any(NodeRef.class), any(BucketIndex.class), any(Bucket.class), any(Bucket.class))).thenReturn(true); visitor.walk(consumer); verify(consumer, times(1)).tree(any(NodeRef.class), any(NodeRef.class)); // consumer.bucket should be called for depth 0 and then 1 verify(consumer, times(1)).bucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).bucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(1)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).feature((NodeRef) isNull(), any(NodeRef.class)); verify(consumer, times(1)).endBucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).endBucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(1)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).endTree(any(NodeRef.class), any(NodeRef.class)); verifyNoMoreInteractions(consumer); }
@Test public void testBucketLeafSimple() { final int leftsize = 1 + CanonicalNodeNameOrder.normalizedSizeLimit(0); RevTree left = RevObjectTestSupport.INSTANCE.createFeaturesTree(leftSource, "f", leftsize); RevTree right = RevObjectTestSupport.INSTANCE.createFeaturesTree(rightSource, "f", 1); PreOrderDiffWalk visitor = newVisitor(left, right); // consume all when(consumer.tree(any(NodeRef.class), any(NodeRef.class))).thenReturn(true); when(consumer.bucket(any(NodeRef.class), any(NodeRef.class), any(BucketIndex.class), any(Bucket.class), any(Bucket.class))).thenReturn(true); visitor.walk(consumer); // there's only the root tree verify(consumer, times(1)).tree(any(NodeRef.class), any(NodeRef.class)); // there's only one feature on the right tree, so all right trees features fall on a single // bucket final int leftBucketCount = left.bucketsSize(); final int expectedBucketCalls = leftBucketCount; verify(consumer, times(expectedBucketCalls)).bucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(leftsize - 1)).feature(any(NodeRef.class), (NodeRef) isNull()); verify(consumer, times(expectedBucketCalls)).endBucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).endTree(any(NodeRef.class), any(NodeRef.class)); verifyNoMoreInteractions(consumer); }
@Test public void testBucketLeafSimple() { final int leftsize = 1 + CanonicalNodeNameOrder.normalizedSizeLimit(0); RevTree left = testSupport.createFeaturesTree(leftSource, "f", leftsize); RevTree right = testSupport.createFeaturesTree(rightSource, "f", 1); PreOrderDiffWalk visitor = newVisitor(left, right); // consume all when(consumer.tree(any(NodeRef.class), any(NodeRef.class))).thenReturn(true); when(consumer.bucket(any(NodeRef.class), any(NodeRef.class), any(BucketIndex.class), any(Bucket.class), any(Bucket.class))).thenReturn(true); visitor.walk(consumer); // there's only the root tree verify(consumer, times(1)).tree(any(NodeRef.class), any(NodeRef.class)); // there's only one feature on the right tree, so all right trees features fall on a single // bucket final int leftBucketCount = left.bucketsSize(); final int expectedBucketCalls = leftBucketCount; verify(consumer, times(expectedBucketCalls)).bucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(leftsize - 1)).feature(any(NodeRef.class), (NodeRef) isNull()); verify(consumer, times(expectedBucketCalls)).endBucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).endTree(any(NodeRef.class), any(NodeRef.class)); verifyNoMoreInteractions(consumer); }
@Test public void testLeafBucketSimple() { final int rightsize = 1 + CanonicalNodeNameOrder.normalizedSizeLimit(0); RevTree left = createFeaturesTree(leftSource, "f", 1); RevTree right = createFeaturesTree(rightSource, "f", rightsize); PreOrderDiffWalk visitor = newVisitor(left, right); // consume all when(consumer.tree(any(NodeRef.class), any(NodeRef.class))).thenReturn(true); when(consumer.bucket(any(NodeRef.class), any(NodeRef.class), any(BucketIndex.class), any(Bucket.class), any(Bucket.class))).thenReturn(true); visitor.walk(consumer); // there's only the root tree verify(consumer, times(1)).tree(any(NodeRef.class), any(NodeRef.class)); // there's only one feature on the right tree, so all right trees features fall on a single // bucket final int leftBucketCount = right.buckets().size(); final int expectedBucketCalls = leftBucketCount; verify(consumer, times(expectedBucketCalls)).bucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(rightsize - 1)).feature((NodeRef) isNull(), any(NodeRef.class)); verify(consumer, times(expectedBucketCalls)).endBucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).endTree(any(NodeRef.class), any(NodeRef.class)); verifyNoMoreInteractions(consumer); }
@Test public void testBucketLeafSeveral() { final int leftsize = 1 + CanonicalNodeNameOrder.normalizedSizeLimit(0); RevTree left = createFeaturesTree(leftSource, "f", leftsize); RevTree right = createFeaturesTree(rightSource, "f", 1); PreOrderDiffWalk visitor = newVisitor(left, right); // consume all when(consumer.tree(any(NodeRef.class), any(NodeRef.class))).thenReturn(true); when(consumer.bucket(any(NodeRef.class), any(NodeRef.class), any(BucketIndex.class), any(Bucket.class), any(Bucket.class))).thenReturn(true); visitor.walk(consumer); // there's only the root tree verify(consumer, times(1)).tree(any(NodeRef.class), any(NodeRef.class)); // there's only one feature on the right tree, so all right trees features fall on a single // bucket final int leftBucketCount = left.buckets().size(); final int expectedBucketCalls = leftBucketCount; verify(consumer, times(expectedBucketCalls)).bucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(leftsize - 1)).feature(any(NodeRef.class), (NodeRef) isNull()); verify(consumer, times(expectedBucketCalls)).endBucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).endTree(any(NodeRef.class), any(NodeRef.class)); verifyNoMoreInteractions(consumer); }
@Test public void testBucketLeafSeveral() { final int leftsize = 1 + CanonicalNodeNameOrder.normalizedSizeLimit(0); RevTree left = testSupport.createFeaturesTree(leftSource, "f", leftsize); RevTree right = testSupport.createFeaturesTree(rightSource, "f", 1); PreOrderDiffWalk visitor = newVisitor(left, right); // consume all when(consumer.tree(any(NodeRef.class), any(NodeRef.class))).thenReturn(true); when(consumer.bucket(any(NodeRef.class), any(NodeRef.class), any(BucketIndex.class), any(Bucket.class), any(Bucket.class))).thenReturn(true); visitor.walk(consumer); // there's only the root tree verify(consumer, times(1)).tree(any(NodeRef.class), any(NodeRef.class)); // there's only one feature on the right tree, so all right trees features fall on a single // bucket final int leftBucketCount = left.bucketsSize(); final int expectedBucketCalls = leftBucketCount; verify(consumer, times(expectedBucketCalls)).bucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(leftsize - 1)).feature(any(NodeRef.class), (NodeRef) isNull()); verify(consumer, times(expectedBucketCalls)).endBucket(any(NodeRef.class), any(NodeRef.class), argThat(depthMatches(0)), any(Bucket.class), any(Bucket.class)); verify(consumer, times(1)).endTree(any(NodeRef.class), any(NodeRef.class)); verifyNoMoreInteractions(consumer); }
@Override public void endBucket(NodeRef leftParent, NodeRef rightParent, BucketIndex bucketIndex, Bucket left, Bucket right) { delegate.endBucket(leftParent, rightParent, bucketIndex, left, right); } }
@Override public void endBucket(NodeRef leftParent, NodeRef rightParent, BucketIndex bucketIndex, Bucket left, Bucket right) { delegate.endBucket(leftParent, rightParent, bucketIndex, left, right); } }