public void TestReportDuplicatesPairwise() { IFeatureClass featureClass = CreateLineFeatureClass(_testWs, "TestCombinedLists"); // make sure the table is known by the workspace ((IWorkspaceEdit)_testWs).StartEditing(false); ((IWorkspaceEdit)_testWs).StopEditing(true); IPolycurve shape1 = CurveConstruction.StartLine(100, 0) .LineTo(200, 0) .Curve; IPolycurve shape2 = CurveConstruction.StartLine(200, 100) .LineTo(300, 100) .Curve; IPolycurve shape3 = CurveConstruction.StartLine(300, 200) .LineTo(400, 200) .Curve; AddFeature(featureClass, shape1); AddFeature(featureClass, shape2); AddFeature(featureClass, shape3); // first set of duplicates AddFeature(featureClass, shape1); AddFeature(featureClass, shape2); AddFeature(featureClass, shape3); // second set of duplicates AddFeature(featureClass, shape1); AddFeature(featureClass, shape2); AddFeature(featureClass, shape3); var test = new QaDuplicateGeometrySelf(featureClass, null, false); var testRunner = new QaContainerTestRunner(1000, test); testRunner.Execute(); Assert.AreEqual(9, testRunner.Errors.Count); }
public void TestReportSingleErrorPerDuplicateSet() { IFeatureClass featureClass = CreateLineFeatureClass( _testWs, "TestReportSingleErrorPerDuplicateSet"); // make sure the table is known by the workspace ((IWorkspaceEdit)_testWs).StartEditing(false); ((IWorkspaceEdit)_testWs).StopEditing(true); IPolycurve shape1 = CurveConstruction.StartLine(100, 0) .LineTo(200, 0) .Curve; IPolycurve shape2 = CurveConstruction.StartLine(200, 100) .LineTo(300, 100) .Curve; IPolycurve shape3 = CurveConstruction.StartLine(300, 200) .LineTo(400, 200) .Curve; IPolycurve shape4 = CurveConstruction.StartLine(300, 300) .LineTo(400, 300) .Curve; AddFeature(featureClass, shape1); AddFeature(featureClass, shape2); AddFeature(featureClass, shape3); AddFeature(featureClass, shape4); // 1. set of duplicates AddFeature(featureClass, shape1); AddFeature(featureClass, shape2); AddFeature(featureClass, shape3); // 2. set of duplicates AddFeature(featureClass, shape1); AddFeature(featureClass, shape2); AddFeature(featureClass, shape3); // add more duplicates, per geometry AddFeature(featureClass, shape1); AddFeature(featureClass, shape1); AddFeature(featureClass, shape1); AddFeature(featureClass, shape2); AddFeature(featureClass, shape2); AddFeature(featureClass, shape2); AddFeature(featureClass, shape3); AddFeature(featureClass, shape3); AddFeature(featureClass, shape3); var test = new QaDuplicateGeometrySelf(featureClass, null, true); var testRunner = new QaContainerTestRunner(50, test); testRunner.Execute(); IList <QaError> errors = testRunner.Errors; Assert.AreEqual(3, errors.Count); Assert.AreEqual(6, errors[0].InvolvedRows.Count); Assert.AreEqual(6, errors[1].InvolvedRows.Count); Assert.AreEqual(6, errors[2].InvolvedRows.Count); }