public void EmptyFirstJustWorks() { DifferenceEvaluator d = DifferenceEvaluators.First(); Assert.AreEqual(ComparisonResult.DIFFERENT, d(null, ComparisonResult.DIFFERENT)); }
public void DowngradeDifferencesToEqualLeavesUnknownTypesAlone() { DifferenceEvaluator d = DifferenceEvaluators .DowngradeDifferencesToEqual(ComparisonType.XML_VERSION, ComparisonType.XML_STANDALONE); Assert.AreEqual(ComparisonResult.SIMILAR, d(new Comparison(ComparisonType.XML_ENCODING, null, null, null, null, null, null, null, null), ComparisonResult.SIMILAR)); }
public void DowngradeDifferencesToEqualDowngradesMatchingTypes() { DifferenceEvaluator d = DifferenceEvaluators .DowngradeDifferencesToEqual(ComparisonType.XML_VERSION, ComparisonType.XML_STANDALONE); Assert.AreEqual(ComparisonResult.EQUAL, d(new Comparison(ComparisonType.XML_VERSION, null, null, null, null, null, null, null, null), ComparisonResult.SIMILAR)); }
public void UpgradeDifferencesToDifferentLeavesEqualResultsAlone() { DifferenceEvaluator d = DifferenceEvaluators .UpgradeDifferencesToDifferent(ComparisonType.XML_VERSION, ComparisonType.XML_STANDALONE); Assert.AreEqual(ComparisonResult.EQUAL, d(new Comparison(ComparisonType.XML_VERSION, null, null, null, null, null, null, null, null), ComparisonResult.EQUAL)); }
public void UpgradeDifferencesToDifferentUpgradesMatchingTypes() { DifferenceEvaluator d = DifferenceEvaluators .UpgradeDifferencesToDifferent(ComparisonType.XML_VERSION, ComparisonType.XML_STANDALONE); Assert.AreEqual(ComparisonResult.DIFFERENT, d(new Comparison(ComparisonType.XML_VERSION, null, null, null, null, null, null, null, null), ComparisonResult.SIMILAR)); }
public void AllEvaluatorsAreCalledInSequence() { Evaluator e1 = new Evaluator(ComparisonResult.SIMILAR); Evaluator e2 = new Evaluator(ComparisonResult.EQUAL); DifferenceEvaluator d = DifferenceEvaluators.Chain(e1.Evaluate, e2.Evaluate); Assert.AreEqual(ComparisonResult.EQUAL, d(null, ComparisonResult.DIFFERENT)); Assert.IsTrue(e1.Called); Assert.That(e1.Orig, Is.EqualTo(ComparisonResult.DIFFERENT)); // passed initial ComparisonResult Assert.IsTrue(e2.Called); Assert.That(e2.Orig, Is.EqualTo(ComparisonResult.SIMILAR)); // passed ComparisonResult from e1 }
public void FirstChangeWinsInFirst() { Evaluator e1 = new Evaluator(ComparisonResult.DIFFERENT); Evaluator e2 = new Evaluator(ComparisonResult.EQUAL); DifferenceEvaluator d = DifferenceEvaluators.First(e1.Evaluate, e2.Evaluate); Assert.AreEqual(ComparisonResult.DIFFERENT, d(null, ComparisonResult.SIMILAR)); Assert.IsTrue(e1.Called); Assert.IsFalse(e2.Called); e1.Called = false; Assert.AreEqual(ComparisonResult.EQUAL, d(null, ComparisonResult.DIFFERENT)); Assert.IsTrue(e1.Called); Assert.IsTrue(e2.Called); }
private IList <Comparison> Compare(string controlXml, string testXml, bool ignoreDoctypeDeclarationAsWell) { ISource control = InputBuilder.From(controlXml).Build(); ISource test = InputBuilder.From(testXml).Build(); DOMDifferenceEngine e = new DOMDifferenceEngine(); if (ignoreDoctypeDeclarationAsWell) { e.DifferenceEvaluator = DifferenceEvaluators.IgnorePrologDifferences(); } else { e.DifferenceEvaluator = DifferenceEvaluators.IgnorePrologDifferencesExceptDoctype(); } var differences = new List <Comparison>(); e.DifferenceListener += (comparison, outcome) => differences.Add(comparison); e.Compare(control, test); return(differences); }