public TestContainer() { _tests = new List <ITest>(); _errorAdministrator = new QaErrorAdministrator(); _geometryEngine = new GeometryEngine(); _allowEditing = false; }
public int Execute([NotNull] IList <ISelectionSet> selectionsList) { Assert.ArgumentNotNull(selectionsList, nameof(selectionsList)); foreach (ITest test in _tests) { test.QaError += test_QaError; } try { _errorAdministrator = new QaErrorAdministrator(); var errorCount = 0; foreach (ITest test in _tests) { var editingTest = test as IEditing; var origAllowEditing = false; if (editingTest != null) { origAllowEditing = editingTest.AllowEditing; editingTest.AllowEditing = _allowEditing; } try { foreach (ITable table in test.InvolvedTables) { foreach (ISelectionSet selectionSet in selectionsList) { if (selectionSet.Target != table) { continue; } const bool recycle = false; errorCount += test.Execute(new EnumCursor(selectionSet, null, recycle)); } } } finally { if (editingTest != null) { editingTest.AllowEditing = origAllowEditing; } } _errorAdministrator.Clear(); } return(errorCount); } finally { foreach (ITest test in _tests) { test.QaError -= test_QaError; } } }