/** * Implements {@link Supplier#get()} by delegating to {@link #call()}. */ @Override public AutoCloseableIterator<DiffEntry> get() { return call(); }
/** * Implements {@link Supplier#get()} by delegating to {@link #call()}. */ @Override public AutoCloseableIterator<DiffEntry> get() { return call(); }
private void assertChangeTypeFilter(final ObjectId leftTree, final ObjectId rightTree, final int expectedAdds, final int expectedRemoves, final int expectedChanges) { List<DiffEntry> list; diffTree.setOldTree(leftTree).setNewTree(rightTree); diffTree.setChangeTypeFilter(ChangeType.ADDED); list = newArrayList(diffTree.call()); assertEquals(list.toString(), expectedAdds, list.size()); diffTree.setChangeTypeFilter(ChangeType.REMOVED); list = newArrayList(diffTree.call()); assertEquals(list.toString(), expectedRemoves, list.size()); diffTree.setChangeTypeFilter(ChangeType.MODIFIED); list = newArrayList(diffTree.call()); assertEquals(list.toString(), expectedChanges, list.size()); }
public @Test void testDiffTreeIteratorIsClosedOnPrematureFeatureIteratorClose() throws IOException { AutoCloseableIterator<DiffEntry> mockIt = mock(AutoCloseableIterator.class); when(mockIt.hasNext()).thenReturn(true); when(mockIt.next()).thenReturn(mock(DiffEntry.class)); doReturn(mockIt).when(difftree).call(); FeatureReader<SimpleFeatureType, SimpleFeature> featureReader = builder.build(); // close the feature reader before being fully consumed featureReader.close(); Mockito.verify(mockIt, times(0)).hasNext(); Mockito.verify(mockIt, times(0)).next(); Mockito.verify(mockIt, times(1)).close(); }
public @Test void testDiffTreeIteratorIsClosedOnPrematureFeatureIteratorClose() throws IOException { AutoCloseableIterator<DiffEntry> mockIt = mock(AutoCloseableIterator.class); when(mockIt.hasNext()).thenReturn(true); when(mockIt.next()).thenReturn(mock(DiffEntry.class)); doReturn(mockIt).when(difftree).call(); FeatureReader<SimpleFeatureType, SimpleFeature> featureReader = builder.build(); // close the feature reader before being fully consumed featureReader.close(); Mockito.verify(mockIt, times(0)).hasNext(); Mockito.verify(mockIt, times(0)).next(); Mockito.verify(mockIt, times(1)).close(); }
private List<DiffEntry> getExpectedEntries(String layerName, String oldHead, String newHead) { AutoCloseableIterator<DiffEntry> diffs = repo.command(DiffTree.class) .setPathFilter(layerName).setOldVersion(oldHead).setNewVersion(newHead).call(); return Lists.newArrayList(diffs); }
@Test public void testNoOldVersionSet() { exception.expect(IllegalArgumentException.class); exception.expectMessage("old version"); diffTree.call(); }
@Test public void testNoOldVersionSet() { exception.expect(IllegalArgumentException.class); exception.expectMessage("old version"); diffTree.call(); }
@Test public void testInvalidOldVersion() { exception.expect(IllegalArgumentException.class); diffTree.setOldVersion("abcdef0123").setNewVersion(Ref.HEAD).call(); }
@Test public void testNoNewVersionSet() { exception.expect(IllegalArgumentException.class); exception.expectMessage("new version"); diffTree.setOldVersion(Ref.HEAD).call(); }
@Test public void testInvalidNewVersion() { exception.expect(IllegalArgumentException.class); diffTree.setOldVersion(Ref.HEAD).setNewVersion("abcdef0123").call(); }
@Test public void testNoNewVersionSet() { exception.expect(IllegalArgumentException.class); exception.expectMessage("new version"); diffTree.setOldVersion(Ref.HEAD).call(); }
@Test public void testInvalidOldVersion() { exception.expect(IllegalArgumentException.class); diffTree.setOldVersion("abcdef0123").setNewVersion(Ref.HEAD).call(); }
@Test public void testInvalidNewVersion() { exception.expect(IllegalArgumentException.class); diffTree.setOldVersion(Ref.HEAD).setNewVersion("abcdef0123").call(); }
private List<DiffEntry> findWithDiffTreeCommandReportingOnlyTrees(RevTree left, RevTree right) { try (AutoCloseableIterator<DiffEntry> it = repo.command(DiffTree.class)// .setPreserveIterationOrder(false)// .setReportFeatures(false)// .setReportTrees(true)// .setOldTree(left)// .setNewTree(right)// .call()) { return Lists.newArrayList(it); } }
@Test public void testNullTrees() { try (AutoCloseableIterator<DiffEntry> diffs = diffTree.setOldTree(ObjectId.NULL) .setNewTree(ObjectId.NULL).call()) { assertFalse(diffs.hasNext()); } }
@Test public void testNullTrees() { try (AutoCloseableIterator<DiffEntry> diffs = diffTree.setOldTree(ObjectId.NULL) .setNewTree(ObjectId.NULL).call()) { assertFalse(diffs.hasNext()); } }
@Test public void testNoCommitsYet() { assertFalse(diffTree.setOldVersion(Ref.HEAD).setNewVersion(Ref.HEAD).call().hasNext()); }
@Test public void testNoCommitsYet() { assertFalse(diffTree.setOldVersion(Ref.HEAD).setNewVersion(Ref.HEAD).call().hasNext()); }
@Test public void testBoundsFiltering() { ObjectDatabase db = geogig.getContext().objectDatabase(); RevTree tree1 = tree(1000, db); RevTree tree2 = tree(50, db); RevTree root = createRoot(db, tree1, tree2); CoordinateReferenceSystem crs = revtype.type().getCoordinateReferenceSystem(); ReferencedEnvelope filter; List<DiffEntry> diffs; diffTree.setOldTree(ObjectId.NULL).setNewTree(root.getId()); filter = new ReferencedEnvelope(50, 51, 50, 51, crs); diffTree.setBoundsFilter(filter); diffs = ImmutableList.copyOf(diffTree.call()); assertEquals(2, diffs.size()); }