Beispiel #1
0
        public void CompareControlNonNullTestNull()
        {
            AbstractDifferenceEngine d = DifferenceEngine;

            d.DifferenceEvaluator = ResultGrabber;
            Assert.AreEqual(Wrap(ComparisonResult.DIFFERENT),
                            d.Compare(new Comparison(ComparisonType.HAS_DOCTYPE_DECLARATION,
                                                     null, null, "", null,
                                                     null, null, null, null)));
            Assert.AreEqual(ComparisonResult.DIFFERENT, outcome);
        }
Beispiel #2
0
        public void CompareTwoNulls()
        {
            AbstractDifferenceEngine d = DifferenceEngine;

            d.DifferenceEvaluator = ResultGrabber;
            Assert.AreEqual(Wrap(ComparisonResult.EQUAL),
                            d.Compare(new Comparison(ComparisonType.HAS_DOCTYPE_DECLARATION,
                                                     null, null, null, null,
                                                     null, null, null, null)));
            Assert.AreEqual(ComparisonResult.EQUAL, outcome);
        }
Beispiel #3
0
        public void CompareTwoDifferentNonNulls()
        {
            AbstractDifferenceEngine d = DifferenceEngine;

            d.DifferenceEvaluator = ResultGrabber;
            Assert.AreEqual(Wrap(ComparisonResult.DIFFERENT),
                            d.Compare(new Comparison(ComparisonType.HAS_DOCTYPE_DECLARATION,
                                                     null, null,
                                                     Convert.ToInt16("1"), null,
                                                     null, null,
                                                     Convert.ToInt16("2"), null)));
            Assert.AreEqual(ComparisonResult.DIFFERENT, outcome);
        }
Beispiel #4
0
        public void CompareNotifiesDifferenceListener()
        {
            AbstractDifferenceEngine d = DifferenceEngine;
            int invocations            = 0;

            d.DifferenceListener += delegate(Comparison comp,
                                             ComparisonResult r) {
                invocations++;
                Assert.AreEqual(ComparisonResult.SIMILAR, r);
            };
            Assert.AreEqual(Wrap(ComparisonResult.SIMILAR),
                            d.Compare(new Comparison(ComparisonType.HAS_DOCTYPE_DECLARATION,
                                                     null, null,
                                                     Convert.ToInt16("2"), null,
                                                     null, null,
                                                     Convert.ToInt16("3"), null)));
            Assert.AreEqual(1, invocations);
        }
Beispiel #5
0
        public void CompareUsesResultOfController()
        {
            AbstractDifferenceEngine d = DifferenceEngine;
            int invocations            = 0;

            d.ComparisonListener += delegate(Comparison comp,
                                             ComparisonResult r) {
                invocations++;
                Assert.AreEqual(ComparisonResult.SIMILAR, r);
            };
            d.ComparisonController = _ => true;
            Assert.AreEqual(WrapAndStop(ComparisonResult.SIMILAR),
                            d.Compare(new Comparison(ComparisonType.HAS_DOCTYPE_DECLARATION,
                                                     null, null,
                                                     Convert.ToInt16("1"), null,
                                                     null, null,
                                                     Convert.ToInt16("2"), null)));
            Assert.AreEqual(1, invocations);
        }
Beispiel #6
0
        public void CompareUsesResultOfEvaluator()
        {
            AbstractDifferenceEngine d = DifferenceEngine;
            int invocations            = 0;

            d.ComparisonListener += delegate(Comparison comp,
                                             ComparisonResult r) {
                invocations++;
                Assert.AreEqual(ComparisonResult.SIMILAR, r);
            };
            d.DifferenceEvaluator = delegate(Comparison comparison,
                                             ComparisonResult outcome) {
                return(ComparisonResult.SIMILAR);
            };
            Assert.AreEqual(Wrap(ComparisonResult.SIMILAR),
                            d.Compare(new Comparison(ComparisonType.HAS_DOCTYPE_DECLARATION,
                                                     null, null,
                                                     Convert.ToInt16("2"), null,
                                                     null, null,
                                                     Convert.ToInt16("2"), null)));
            Assert.AreEqual(1, invocations);
        }
Beispiel #7
0
 /// <summary>
 /// May combine the current result with evaluating a comparison.
 /// </summary>
 /// <param name="comp">new state will be obtained by performing the comparison</param>
 /// <returns>the old result if the engine is already finished or the result of evaluating the comparison</returns>
 public ComparisonState AndThen(Comparison comp)
 {
     return(AndThen(() => engine.Compare(comp)));
 }