public Comparator(string symbol) { switch (symbol) { case "<": func = ComparatorFunc.LT; break; case ">": func = ComparatorFunc.GT; break; case "<=": func = ComparatorFunc.LEQ; break; case ">=": func = ComparatorFunc.GEQ; break; case "==": func = ComparatorFunc.EQ; break; case "!=": func = ComparatorFunc.NEQ; break; } }
private static void AreEqual(ICollection expected, ICollection actual, string message, object[] parameters, ComparatorFunc comparator) { if (object.ReferenceEquals(expected, actual)) { return; } if (expected == null) { throw new NullTestArgumentException("expected"); } if (actual == null) { throw new NullTestArgumentException("actual"); } if (expected.Count != actual.Count) { throw new AssertFailedException("Expected collection with " + expected.Count + " items but got " + actual.Count + " items.", message, parameters); } IEnumerator expectedIter = expected.GetEnumerator(); IEnumerator actualIter = actual.GetEnumerator(); int index = 0; while (expectedIter.MoveNext()) { Assert.IsTrue(actualIter.MoveNext(), message, parameters); if (!comparator(expectedIter.Current, actualIter.Current)) { throw new AssertFailedException("Elements at index {0} do not match.".Format(index), message, parameters); } index++; } Assert.IsFalse(actualIter.MoveNext()); }
private static void AreEqual(ICollection expected, ICollection actual, string message, object[] parameters, ComparatorFunc comparator) { if (object.ReferenceEquals(expected, actual)) { return; } if (expected == null) { throw new NullTestArgumentException("expected"); } if (actual == null) { throw new NullTestArgumentException("actual"); } if (expected.Count != actual.Count) { throw new AssertFailedException("Expected collection with " + expected.Count + " items but got " + actual.Count + " items.", message, parameters); } IEnumerator expectedIter = expected.GetEnumerator(); IEnumerator actualIter = actual.GetEnumerator(); int index = 0; while (expectedIter.MoveNext()) { Assert.IsTrue(actualIter.MoveNext(), message, parameters); if (!comparator(expectedIter.Current, actualIter.Current)) { throw new AssertFailedException("Elements at index {0} do not match.".Format(index), message, parameters); } index++; } Assert.IsFalse(actualIter.MoveNext()); }