public void TestTopgisTMultiPatches()
        {
            IWorkspace workspace = TestDataUtils.OpenTopgisTlm();

            IFeatureClass gebaeude =
                ((IFeatureWorkspace)workspace).OpenFeatureClass(
                    "TOPGIS_TLM.TLM_GEBAEUDE");

            var test = new QaMpVertexNotNearFace(
                gebaeude, new[] { gebaeude }, 1, 0.2);

            test.VerifyWithinFeature    = true;
            test.PointCoincidence       = 0.1;
            test.EdgeCoincidence        = 0.1;
            test.IgnoreNonCoplanarFaces = true;
            test.MinimumSlopeDegrees    = 15;

            var runner = new QaContainerTestRunner(10000, test);

            runner.LogErrors = false;

            IFeatureWorkspace ws =
                TestWorkspaceUtils.CreateTestFgdbWorkspace("QaMpVertexNotNearFaceTest");
            var logger = new SimpleErrorWorkspace(ws);

            runner.TestContainer.QaError += logger.TestContainer_QaError;

            runner.Execute();

            Console.WriteLine(runner.Errors.Count);
        }
        public void CanTestVertexNotNearFaceAboveHorizontal()
        {
            IFeatureClass fc =
                CreateFeatureClass(_testWs, "CanTestVertexNotNearFaceHorizontal");

            var construction = new MultiPatchConstruction();

            construction.StartOuterRing(0, 0, 10)
            .Add(0, 10, 10)
            .Add(10, 10, 10)
            .Add(10, 0, 10);
            IFeature row1 = fc.CreateFeature();

            row1.Shape = construction.MultiPatch;
            row1.Store();

            construction = new MultiPatchConstruction();
            construction.StartOuterRing(5, 5, 10.1)
            .Add(15, 5, 15.1)
            .Add(15, 15, 20.1)
            .Add(5, 15, 15.1);
            IFeature row2 = fc.CreateFeature();

            row2.Shape = construction.MultiPatch;
            row2.Store();

            ((IWorkspaceEdit)_testWs).StopEditing(true);

            var test = new QaMpVertexNotNearFace(fc, new[] { fc }, 0.2, 0)
            {
                VerifyWithinFeature = false,
                MinimumSlopeDegrees = 0
            };

            var runner = new QaContainerTestRunner(10000, test);

            runner.Execute();
            Assert.AreEqual(1, runner.Errors.Count);
        }