public void CanTestNaNZs() { var multiPatchClass = new FeatureClassMock( 1, "multipatch", esriGeometryType.esriGeometryMultiPatch); var polygonClass = new FeatureClassMock( 1, "polygon", esriGeometryType.esriGeometryPolygon); var multiPatch = new MultiPatchConstruction(); multiPatch.StartOuterRing(0, 0, 0) .Add(5, 0, 0) .Add(5, 1, 5) .Add(0, 1, 5); IFeature multiPatchRow = multiPatchClass.CreateFeature(multiPatch.MultiPatch); CurveConstruction polygon = CurveConstruction.StartPoly(0, 0) .LineTo(10, 0) .LineTo(0, 10); IFeature polygonRow = polygonClass.CreateFeature(polygon.ClosePolygon()); var test = new QaZDifferenceSelfWrapper( new[] { (IFeatureClass)multiPatchClass, polygonClass }, 20, 0, ZComparisonMethod.BoundingBox, null); var runner = new QaTestRunner(test); int errorCount = test.TestDirect(multiPatchRow, 0, polygonRow, 1); Assert.AreEqual(1, errorCount); Assert.AreEqual(1, runner.Errors.Count); }
public void CanTestLinesMaximumDifference() { var lineClass = new FeatureClassMock( 1, "line", esriGeometryType.esriGeometryPolyline); CurveConstruction line1 = CurveConstruction.StartLine(0, 0, 10) .LineTo(10, 0, 10) .LineTo(0, 10, 10); IFeature row1 = lineClass.CreateFeature(line1.Curve); CurveConstruction line2 = CurveConstruction.StartLine(2, -2, 21) .LineTo(2, 20, 21); IFeature row2 = lineClass.CreateFeature(line2.Curve); var test = new QaZDifferenceSelfWrapper(new[] { (IFeatureClass)lineClass }, 0, 10, ZComparisonMethod.BoundingBox, null); var runner = new QaTestRunner(test); int errorCount = test.TestDirect(row1, 0, row2, 0); Assert.AreEqual(1, errorCount); Assert.AreEqual(1, runner.Errors.Count); }
public void CanTestConstraint() { ISpatialReference sref = SpatialReferenceUtils.CreateSpatialReference( WellKnownHorizontalCS.LV95); var multiPatchClass = new FeatureClassMock( 1, "multipatch", esriGeometryType.esriGeometryMultiPatch, esriFeatureType.esriFTSimple, sref); multiPatchClass.AddField("Level", esriFieldType.esriFieldTypeInteger); int levelIndex = multiPatchClass.FindField("Level"); var polygonClass = new FeatureClassMock( 1, "polygon", esriGeometryType.esriGeometryPolygon, esriFeatureType.esriFTSimple, sref); polygonClass.AddField("Level", esriFieldType.esriFieldTypeInteger); var multiPatchConstruction = new MultiPatchConstruction(); multiPatchConstruction.StartOuterRing(0, 0, 0) .Add(5, 0, 0) .Add(5, 1, 5) .Add(0, 1, 5); IFeature multiPatchRow = multiPatchClass.CreateFeature(multiPatchConstruction.MultiPatch); multiPatchRow.set_Value(levelIndex, 2); CurveConstruction curveConstruction = CurveConstruction.StartPoly(0, 0, 50) .LineTo(10, 0, 50) .LineTo(0, 10, 50); IFeature polygonRow = polygonClass.CreateFeature(curveConstruction.ClosePolygon()); polygonRow.set_Value(levelIndex, 1); var test = new QaZDifferenceSelfWrapper( new[] { (IFeatureClass)multiPatchClass, polygonClass }, 20, 0, ZComparisonMethod.BoundingBox, "U.Level > L.Level"); var runner = new QaTestRunner(test); int errorCount = test.TestDirect(multiPatchRow, 0, polygonRow, 1); Assert.AreEqual(1, errorCount); Assert.AreEqual(1, runner.Errors.Count); }