/// <summary> /// Evaluate the transaction log results using the associated comparators. /// </summary> public void Evaluate(ResultsReporter resultsReporter) { Dvtk.Comparator.BaseComparatorCollection comparatorCollection = new Dvtk.Comparator.BaseComparatorCollection(); for (int i = 0; i < this.Count; i++) { foreach (ActorsTransaction actorsTransaction in this) { if (actorsTransaction.TransactionNumber == i + 1) { actorsTransaction.SetComparators(comparatorCollection); } } } comparatorCollection.Compare(resultsReporter); }
/// <summary> /// Evaluate the transaction log results using the associated comparators. /// </summary> /// <param name="resultsReporter">Results reporter.</param> public void Evaluate(ResultsReporter resultsReporter) { ArrayList allActorsTransactions = new ArrayList(); for (int i = 0; i < this.Count; i++) { foreach (ActorsTransaction actorsTransaction in this) { if (actorsTransaction.TransactionNumber == i + 1) { allActorsTransactions.Add(actorsTransaction); } } } ArrayList ActorsTransactionsToCompare = this.compareCondition.Filter(allActorsTransactions); foreach (ActorsTransaction actorsTransaction in ActorsTransactionsToCompare) { actorsTransaction.SetComparators(_comparatorCollection); } if (_comparatorCollection.TagValueCollection.Count > 0) { resultsReporter.WriteHtmlInformation("<h2>Message Comparison</h2>"); resultsReporter.WriteValidationInformation("Comparators Filtered on:"); foreach (DicomTagValue tagValue in _comparatorCollection.TagValueCollection) { string group = tagValue.Tag.GroupNumber.ToString("X").PadLeft(4, '0'); string element = tagValue.Tag.ElementNumber.ToString("X").PadLeft(4, '0'); System.String message; if (tagValue.Value == System.String.Empty) { message = System.String.Format("Attribute Tag: ({0},{1}) - Value: Universal Match", group, element); } else { message = System.String.Format("Attribute Tag: ({0},{1}) - Value: \"{2}\"", group, element, tagValue.Value); } resultsReporter.WriteValidationInformation(message); } } _comparatorCollection.Compare(resultsReporter); if (_testAssertionResults.Count > 0) { resultsReporter.WriteHtmlInformation("<br/><br/><h2>Scenario Assertions</h2>"); foreach (String testAssertionResult in _testAssertionResults) { resultsReporter.WriteValidationError(testAssertionResult); } } // update the error and warnings counters resultsReporter.AddValidationErrors(this.NrErrors()); resultsReporter.AddValidationWarnings(this.NrWarnings()); }