public static Tally New <T>( IEnumerable <T> items, ITestMatcher <T> matcher, Predicate <Tally> stop, TestFailure predicateFailure = null) { if (stop == null) { stop = _ => false; } if (predicateFailure == null) { predicateFailure = TestMatcherLocalizer.FailurePredicate(matcher); } var result = new Tally(); result.Indexes = new List <int>(); int index = 0; foreach (var item in items) { if (stop(result)) { result.Stopped = true; break; } var matches = matcher.Matches(TestActual.Value(item)); if (matches) { result.Successes++; } else { result.Failures++; result.Indexes.Add(index); result.AFailure = predicateFailure; } index++; } return(result); }
public bool Matches(ITestActualEvaluation <T> actualFactory) { return(_real.Matches( Actual = TestActual.Value(actualFactory.Exception) )); }