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());
        }
Пример #3
0
        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());
        }