private static void TestValueInUniqueTable(IFeatureWorkspace ws) { ITable table1 = DatasetUtils.CreateTable(ws, "TestValueInUniqueTable1", FieldUtils.CreateOIDField(), FieldUtils.CreateField("RouteId", esriFieldType .esriFieldTypeInteger)); ITable table2 = DatasetUtils.CreateTable(ws, "TestValueInUniqueTable2", FieldUtils.CreateOIDField(), FieldUtils.CreateField("OtherId", esriFieldType .esriFieldTypeInteger)); // make sure the table is known by the workspace ((IWorkspaceEdit)ws).StartEditing(false); ((IWorkspaceEdit)ws).StopEditing(true); IRow row1 = table1.CreateRow(); row1.set_Value(1, 3); row1.Store(); for (int i = 0; i < 5; i++) { IRow r = table1.CreateRow(); r.set_Value(1, 8); r.Store(); } IRow row2 = table2.CreateRow(); row2.set_Value(1, 3); row2.Store(); const bool limitToTestedRows = false; var test = new QaGroupConstraints(new[] { table1, table2 }, new[] { "RouteID", "OtherId" }, new[] { "'Haltung'", "'B'" }, 1, limitToTestedRows); using (var runner = new QaTestRunner(test)) { runner.Execute(); Assert.AreEqual(1, runner.Errors.Count); } var containerRunner = new QaContainerTestRunner(100, test); containerRunner.Execute(); Assert.AreEqual(1, containerRunner.Errors.Count); }
protected override ITest CreateTestInstance(object[] args) { var test = new QaGroupConstraints((ITable)args[0], (string)args[1], (string)args[2], (int)args[3], (bool)args[4]); test.SetRelatedTables((IList <ITable>)args[5]); return(test); }
private static void TestGroupContraints(IFeatureWorkspace ws) { ITable tbl = DatasetUtils.CreateTable(ws, "TestGroupContraints", FieldUtils.CreateOIDField(), FieldUtils.CreateTextField("Kostenstelle", 20)); // make sure the table is known by the workspace ((IWorkspaceEdit)ws).StartEditing(false); ((IWorkspaceEdit)ws).StopEditing(true); IRow row1 = tbl.CreateRow(); row1.set_Value(1, "123456-10"); row1.Store(); IRow row2 = tbl.CreateRow(); row2.set_Value(1, "123456-11"); row2.Store(); IRow row3 = tbl.CreateRow(); row3.set_Value(1, "123456-11"); row3.Store(); IRow row4 = tbl.CreateRow(); row4.set_Value(1, "023456-10"); row4.Store(); const bool limitToTestedRows = false; var test = new QaGroupConstraints(tbl, "IIF(LEN(Kostenstelle) >=6, SUBSTRING(Kostenstelle, 1, 6), '')", "SUBSTRING(Kostenstelle, 8, 9)", 1, limitToTestedRows); using (var runner = new QaTestRunner(test)) { runner.Execute(); Assert.AreEqual(1, runner.Errors.Count); } var containerRunner = new QaContainerTestRunner(100, test); containerRunner.Execute(); Assert.AreEqual(1, containerRunner.Errors.Count); }
private static void TestRelGroupContraints(IFeatureWorkspace ws) { ITable tableData = DatasetUtils.CreateTable(ws, "TblData1", FieldUtils.CreateOIDField(), FieldUtils.CreateField("GroupField", esriFieldType .esriFieldTypeInteger)); ITable tableRel = DatasetUtils.CreateTable(ws, "TblRel1", FieldUtils.CreateOIDField(), FieldUtils.CreateTextField( "Kostenstelle", 20)); IRelationshipClass rel = TestWorkspaceUtils.CreateSimple1NRelationship( ws, "rel", tableRel, tableData, "ObjectId", "GroupField"); // make sure the table is known by the workspace ((IWorkspaceEdit)ws).StartEditing(false); ((IWorkspaceEdit)ws).StopEditing(true); for (int i = 0; i < 20; i++) { IRow row = tableData.CreateRow(); row.set_Value(1, 1); row.Store(); } for (int i = 0; i < 40; i++) { IRow row = tableData.CreateRow(); row.set_Value(1, 2); row.Store(); } for (int i = 0; i < 30; i++) { IRow row = tableData.CreateRow(); row.set_Value(1, 3); row.Store(); } IRow row1 = tableRel.CreateRow(); row1.set_Value(1, "123456-10"); row1.Store(); IRow row2 = tableRel.CreateRow(); row2.set_Value(1, "123456-11"); row2.Store(); IRow row3 = tableRel.CreateRow(); row3.set_Value(1, "123456-12"); row3.Store(); const bool limitToTestedRows = false; ITable relTab = TableJoinUtils.CreateQueryTable(rel, JoinType.InnerJoin); var test = new QaGroupConstraints(relTab, "IIF(LEN(TblRel1.Kostenstelle) >=6, SUBSTRING(TblRel1.Kostenstelle, 1, 6), '')", "SUBSTRING(TblRel1.Kostenstelle, 8, 9)", 1, limitToTestedRows); test.SetRelatedTables(new[] { tableData, tableRel }); using (var runner = new QaTestRunner(test)) { runner.Execute(); Assert.AreEqual(1, runner.Errors.Count); } var containerRunner = new QaContainerTestRunner(100, test); containerRunner.Execute(); Assert.AreEqual(1, containerRunner.Errors.Count); }
private static void TestGeomGroupConstraints(IFeatureWorkspace ws) { IFieldsEdit fields = new FieldsClass(); fields.AddField(FieldUtils.CreateOIDField()); fields.AddField(FieldUtils.CreateTextField("Kostenstelle", 20)); fields.AddField(FieldUtils.CreateShapeField( "Shape", esriGeometryType.esriGeometryPoint, SpatialReferenceUtils.CreateSpatialReference ((int)esriSRProjCS2Type.esriSRProjCS_CH1903Plus_LV95, true), 1000, false, false)); IFeatureClass fc = DatasetUtils.CreateSimpleFeatureClass(ws, "TestGeomGroupContraints", fields, null); // make sure the table is known by the workspace ((IWorkspaceEdit)ws).StartEditing(false); ((IWorkspaceEdit)ws).StopEditing(true); IFeature row1 = fc.CreateFeature(); row1.set_Value(1, "123456-10"); row1.Shape = GeometryFactory.CreatePoint(200, 100); row1.Store(); IFeature row2 = fc.CreateFeature(); row2.set_Value(1, "123456-11"); row2.Shape = GeometryFactory.CreatePoint(200, 200); row2.Store(); IFeature row3 = fc.CreateFeature(); row3.set_Value(1, "123456-11"); row3.Shape = GeometryFactory.CreatePoint(200, 300); row3.Store(); IFeature row4 = fc.CreateFeature(); row4.set_Value(1, "023456-10"); row4.Shape = GeometryFactory.CreatePoint(200, 150); row4.Store(); const bool limitToTestedRows = false; var test = new QaGroupConstraints((ITable)fc, "IIF(LEN(Kostenstelle) >=6, SUBSTRING(Kostenstelle, 1, 6), '')", "SUBSTRING(Kostenstelle, 8, 9)", 1, limitToTestedRows); { IEnvelope box = GeometryFactory.CreateEnvelope(150, 120, 250, 170); using (var runner = new QaTestRunner(test)) { runner.Execute(box); Assert.AreEqual(0, runner.Errors.Count); } var containerRunner = new QaContainerTestRunner(100, test); containerRunner.Execute(box); Assert.AreEqual(0, containerRunner.Errors.Count); } { IEnvelope box = GeometryFactory.CreateEnvelope(150, 80, 250, 170); using (var runner = new QaTestRunner(test)) { runner.Execute(box); Assert.AreEqual(1, runner.Errors.Count); } var containerRunner = new QaContainerTestRunner(100, test); containerRunner.Execute(box); Assert.AreEqual(1, containerRunner.Errors.Count); } { IEnvelope box = GeometryFactory.CreateEnvelope(150, 80, 250, 220); using (var runner = new QaTestRunner(test)) { runner.Execute(box); Assert.AreEqual(1, runner.Errors.Count); } var containerRunner = new QaContainerTestRunner(100, test); containerRunner.Execute(box); Assert.AreEqual(1, containerRunner.Errors.Count); } { IRow row = fc.GetFeature(1); using (var runner = new QaTestRunner(test)) { runner.Execute(row); Assert.AreEqual(1, runner.Errors.Count); } //var containerRunner = new QaContainerTestRunner(100, test); //containerRunner.Execute(row); //Assert.AreEqual(1, containerRunner.Errors.Count); } { IRow row = fc.GetFeature(4); using (var runner = new QaTestRunner(test)) { runner.Execute(row); Assert.AreEqual(0, runner.Errors.Count); } //var containerRunner = new QaContainerTestRunner(100, test); //containerRunner.Execute(row); //Assert.AreEqual(1, containerRunner.Errors.Count); } { IQueryFilter filter = new QueryFilterClass { WhereClause = "ObjectId < 3" }; ISelectionSet set = fc.Select( filter, esriSelectionType.esriSelectionTypeIDSet, esriSelectionOption.esriSelectionOptionNormal, null); using (var runner = new QaTestRunner(test)) { runner.Execute(new EnumCursor(set, null, false)); Assert.AreEqual(1, runner.Errors.Count); } var containerRunner = new QaContainerTestRunner(100, test); containerRunner.Execute(new[] { set }); Assert.AreEqual(1, containerRunner.Errors.Count); } { IQueryFilter filter = new QueryFilterClass { WhereClause = "ObjectId > 3" }; ISelectionSet set = fc.Select( filter, esriSelectionType.esriSelectionTypeIDSet, esriSelectionOption.esriSelectionOptionNormal, null); using (var runner = new QaTestRunner(test)) { runner.Execute(new EnumCursor(set, null, false)); Assert.AreEqual(0, runner.Errors.Count); } var containerRunner = new QaContainerTestRunner(100, test); containerRunner.Execute(new[] { set }); Assert.AreEqual(0, containerRunner.Errors.Count); } }