protected override ITest CreateTestInstance(object[] args) { var test = new QaRegularExpression((ITable)args[0], (string)args[1], (IEnumerable <string>)args[2], (bool)args[3], (string)args[4]); test.AddRelatedTables((ITable)args[0], (IList <ITable>)args[5]); return(test); }
public void TestExcludedFields() { IFeatureWorkspace initTestWs = _testWs; try { _testWs = TestWorkspaceUtils.CreateInMemoryWorkspace("QaRegularExpression"); IFieldsEdit fields = new FieldsClass(); fields.AddField(FieldUtils.CreateOIDField()); fields.AddField(FieldUtils.CreateIntegerField(_fkFieldName)); fields.AddField(FieldUtils.CreateTextField(_textFieldName, 200)); fields.AddField(FieldUtils.CreateTextField(_textFieldName2, 200)); const string tableName = "RegEx_table_excluded"; ITable table = TestWorkspaceUtils.CreateSimpleTable(_testWs, tableName, fields); ((IWorkspaceEdit)_testWs).StartEditing(false); AddRow(table, textFieldValue: "A", textFieldValue2: "X"); AddRow(table, textFieldValue: "B", textFieldValue2: "X"); AddRow(table, textFieldValue: "A", textFieldValue2: "X"); ((IWorkspaceEdit)_testWs).StopEditing(true); var test = new QaRegularExpression(table, "A", _textFieldName2) { FieldListType = FieldListType.IgnoredFields }; IList <QaError> errors = Run(test, 1000); AssertErrors(1, errors); IList <InvolvedRow> involvedRows = errors[0].InvolvedRows; Assert.AreEqual(1, involvedRows.Count); Assert.AreEqual($"{_textFieldName}", errors[0].AffectedComponent); Assert.AreEqual("RegularExpression.FieldValueDoesNotMatchRegularExpression", errors[0].IssueCode?.ID); } finally { _testWs = initTestWs; } }