public final void walk(final Consumer consumer) { walk(ACEPT_ALL, consumer); }
@Test public void testSameChildTree() { RevTree left = RevObjectTestSupport.INSTANCE.createFeaturesTreeBuilder(leftSource, "f", 10) .build(); RevTree right = left; leftSource.put(left); rightSource.put(right); PostOrderDiffWalk visitor = new PostOrderDiffWalk(left, right, leftSource, rightSource); Consumer consumer = mock(Consumer.class); visitor.walk(consumer); verifyNoMoreInteractions(consumer); }
@Test public void testSameRootTree() { RevTree left = RevObjectTestSupport.INSTANCE.createFeaturesTreeBuilder(leftSource, "f", 10) .build(); RevTree right = left; leftSource.put(left); rightSource.put(right); PostOrderDiffWalk visitor = new PostOrderDiffWalk(left, right, leftSource, rightSource); Consumer consumer = mock(Consumer.class); visitor.walk(consumer); verifyNoMoreInteractions(consumer); }
@Test public void testSameChildTree() { RevTree left = createFeaturesTreeBuilder(leftSource, "f", 10).build(); RevTree right = left; leftSource.put(left); rightSource.put(right); PostOrderDiffWalk visitor = new PostOrderDiffWalk(left, right, leftSource, rightSource); Consumer consumer = mock(Consumer.class); visitor.walk(consumer); verifyNoMoreInteractions(consumer); }
public final void walk(final Consumer consumer) { walk(ACEPT_ALL, consumer); }
@Test public void testSameRootTree() { RevTree left = createFeaturesTreeBuilder(leftSource, "f", 10).build(); RevTree right = left; leftSource.put(left); rightSource.put(right); PostOrderDiffWalk visitor = new PostOrderDiffWalk(left, right, leftSource, rightSource); Consumer consumer = mock(Consumer.class); visitor.walk(consumer); verifyNoMoreInteractions(consumer); }
@Test public void testSimple() { RevTree left = createFeaturesTreeBuilder(leftSource, "f", 1).build(); RevTree right = createFeaturesTreeBuilder(rightSource, "f", 2).build(); leftSource.put(left); rightSource.put(right); PostOrderDiffWalk visitor = new PostOrderDiffWalk(left, right, leftSource, rightSource); List<? extends Bounded> expectedLeft = newArrayList(null, nodeFor(left)); List<? extends Bounded> expectedRight = newArrayList(featureNodeRef("f", 1), nodeFor(right)); visitor.walk(testConsumer); assertEquals(expectedLeft, testConsumer.orderedLeft); assertEquals(expectedRight, testConsumer.orderedRight); }
@Test public void testSimple() { RevTree left = RevObjectTestSupport.INSTANCE.createFeaturesTreeBuilder(leftSource, "f", 1) .build(); RevTree right = RevObjectTestSupport.INSTANCE.createFeaturesTreeBuilder(rightSource, "f", 2) .build(); leftSource.put(left); rightSource.put(right); PostOrderDiffWalk visitor = new PostOrderDiffWalk(left, right, leftSource, rightSource); List<? extends Bounded> expectedLeft = newArrayList(null, nodeFor(left)); List<? extends Bounded> expectedRight = newArrayList(featureNodeRef("f", 1), nodeFor(right)); visitor.walk(testConsumer); assertEquals(expectedLeft, testConsumer.orderedLeft); assertEquals(expectedRight, testConsumer.orderedRight); }
@Test public void testBucketBucketFlat() { RevTree left = RevObjectTestSupport.INSTANCE.createFeaturesTreeBuilder(leftSource, "f", CanonicalNodeNameOrder.normalizedSizeLimit(0) + 1).build(); RevTree right = RevObjectTestSupport.INSTANCE.createFeaturesTreeBuilder(rightSource, "f", CanonicalNodeNameOrder.normalizedSizeLimit(0) + 2).build(); leftSource.put(left); rightSource.put(right); PostOrderDiffWalk visitor = new PostOrderDiffWalk(left, right, leftSource, rightSource); visitor.walk(testConsumer); List<Bounded> leftCalls = testConsumer.orderedLeft; List<Bounded> rightCalls = testConsumer.orderedRight; NodeRef lroot = nodeFor(left); NodeRef rroot = nodeFor(right); assertEquals(3, leftCalls.size()); assertEquals(3, rightCalls.size()); assertNull(leftCalls.get(0)); assertTrue(leftCalls.get(1) instanceof Bucket); assertEquals(lroot, leftCalls.get(2)); assertEquals(rroot, rightCalls.get(2)); assertTrue(rightCalls.get(1) instanceof Bucket); assertTrue(rightCalls.get(0) instanceof NodeRef); assertEquals(RevObject.TYPE.FEATURE, ((NodeRef) rightCalls.get(0)).getType()); }
* CanonicalNodeNameOrder.maxBucketsForLevel(0)); PostOrderDiffWalk visitor = new PostOrderDiffWalk(origLeft, origRight, leftSource, leftSource); visitor.walk(copyConsumer);
@Test public void testBucketBucketFlat() { RevTree left = createFeaturesTreeBuilder(leftSource, "f", CanonicalNodeNameOrder.normalizedSizeLimit(0) + 1).build(); RevTree right = createFeaturesTreeBuilder(rightSource, "f", CanonicalNodeNameOrder.normalizedSizeLimit(0) + 2).build(); leftSource.put(left); rightSource.put(right); PostOrderDiffWalk visitor = new PostOrderDiffWalk(left, right, leftSource, rightSource); visitor.walk(testConsumer); List<Bounded> leftCalls = testConsumer.orderedLeft; List<Bounded> rightCalls = testConsumer.orderedRight; NodeRef lroot = nodeFor(left); NodeRef rroot = nodeFor(right); assertEquals(3, leftCalls.size()); assertEquals(3, rightCalls.size()); assertNull(leftCalls.get(0)); assertTrue(leftCalls.get(1) instanceof Bucket); assertEquals(lroot, leftCalls.get(2)); assertEquals(rroot, rightCalls.get(2)); assertTrue(rightCalls.get(1) instanceof Bucket); assertTrue(rightCalls.get(0) instanceof NodeRef); assertEquals(RevObject.TYPE.FEATURE, ((NodeRef) rightCalls.get(0)).getType()); }
* CanonicalNodeNameOrder.maxBucketsForLevel(0)); PostOrderDiffWalk visitor = new PostOrderDiffWalk(origLeft, origRight, leftSource, leftSource); visitor.walk(copyConsumer);
@Test public void testLeafLeafWithSubStrees() { // two leaf trees ObjectId metadataId = RevObjectTestSupport.hashString("fake"); RevTree left = createTreesTreeBuilder(leftSource, 2, 2, metadataId).build(); RevTree right = createTreesTreeBuilder(rightSource, 3, 2, metadataId).build(); leftSource.put(left); rightSource.put(right); PostOrderDiffWalk visitor = new PostOrderDiffWalk(left, right, leftSource, rightSource); visitor.walk(testConsumer); List<Bounded> leftCalls = testConsumer.orderedLeft; List<Bounded> rightCalls = testConsumer.orderedRight; NodeRef lroot = nodeFor(left); NodeRef rroot = nodeFor(right); assertEquals(4, leftCalls.size()); assertEquals(4, rightCalls.size()); assertNull(leftCalls.get(0)); assertNull(leftCalls.get(1)); assertNull(leftCalls.get(2)); assertEquals(lroot, leftCalls.get(3)); assertEquals(rroot, rightCalls.get(3)); assertNotNull(rightCalls.get(2)); assertEquals(RevObject.TYPE.TREE, ((NodeRef) rightCalls.get(2)).getType()); assertEquals(RevObject.TYPE.FEATURE, ((NodeRef) rightCalls.get(1)).getType()); assertEquals(RevObject.TYPE.FEATURE, ((NodeRef) rightCalls.get(0)).getType()); }
@Test public void testLeafLeafWithSubStrees() { // two leaf trees ObjectId metadataId = RevObjectTestSupport.hashString("fake"); RevTree left = RevObjectTestSupport.INSTANCE .createTreesTreeBuilder(leftSource, 2, 2, metadataId).build(); RevTree right = RevObjectTestSupport.INSTANCE .createTreesTreeBuilder(rightSource, 3, 2, metadataId).build(); leftSource.put(left); rightSource.put(right); PostOrderDiffWalk visitor = new PostOrderDiffWalk(left, right, leftSource, rightSource); visitor.walk(testConsumer); List<Bounded> leftCalls = testConsumer.orderedLeft; List<Bounded> rightCalls = testConsumer.orderedRight; NodeRef lroot = nodeFor(left); NodeRef rroot = nodeFor(right); assertEquals(4, leftCalls.size()); assertEquals(4, rightCalls.size()); assertNull(leftCalls.get(0)); assertNull(leftCalls.get(1)); assertNull(leftCalls.get(2)); assertEquals(lroot, leftCalls.get(3)); assertEquals(rroot, rightCalls.get(3)); assertNotNull(rightCalls.get(2)); assertEquals(RevObject.TYPE.TREE, ((NodeRef) rightCalls.get(2)).getType()); assertEquals(RevObject.TYPE.FEATURE, ((NodeRef) rightCalls.get(1)).getType()); assertEquals(RevObject.TYPE.FEATURE, ((NodeRef) rightCalls.get(0)).getType()); }
@Test public void testLeafLeafTwoAdds() { // two leaf trees RevTree left = createFeaturesTreeBuilder(leftSource, "f", 3).build(); RevTree right = createFeaturesTreeBuilder(rightSource, "f", 5).build(); leftSource.put(left); rightSource.put(right); PostOrderDiffWalk visitor = new PostOrderDiffWalk(left, right, leftSource, rightSource); List<? extends Bounded> expectedLeft = newArrayList(// null, // null, // nodeFor(left)); List<? extends Bounded> expectedRight = newArrayList(// featureNodeRef("f", 3), // featureNodeRef("f", 4), // nodeFor(right)); visitor.walk(testConsumer); assertEquals(expectedLeft, testConsumer.orderedLeft); assertEquals(expectedRight, testConsumer.orderedRight); }
@Test public void testLeafLeafTwoAdds() { // two leaf trees RevTree left = RevObjectTestSupport.INSTANCE.createFeaturesTreeBuilder(leftSource, "f", 3) .build(); RevTree right = RevObjectTestSupport.INSTANCE.createFeaturesTreeBuilder(rightSource, "f", 5) .build(); leftSource.put(left); rightSource.put(right); PostOrderDiffWalk visitor = new PostOrderDiffWalk(left, right, leftSource, rightSource); List<? extends Bounded> expectedLeft = newArrayList(// null, // null, // nodeFor(left)); List<? extends Bounded> expectedRight = newArrayList(// featureNodeRef("f", 3), // featureNodeRef("f", 4), // nodeFor(right)); visitor.walk(testConsumer); assertEquals(expectedLeft, testConsumer.orderedLeft); assertEquals(expectedRight, testConsumer.orderedRight); }