private static void TestXaml(string symbols, bool removeIgnorableContent, string xamlName, string expectedXamlName) { var preprocessor = new XamlPreprocessor(symbols, removeIgnorableContent); var xaml = LoadXamlPage(xamlName); var expected = LoadXamlPage(expectedXamlName); var result = preprocessor.ProcessXaml(xaml); // perform char-by-char comparison, raise error with index info if mismatch var lineNumber = 1; for (var i = 0; i < expected.Length && i < result.Length; i++) { if (expected[i] != result[i]) { Assert.Fail("Character mismatch at index {0} (line number: {1}. Expected: {2} ({3}), actual: {4} ({5})", i, lineNumber, result[i], (int)result[i], expected[i], (int)expected[i]); } if (result[i] == '\n') { lineNumber++; } } // still fail if one string is substring of the other Assert.AreEqual(expected, result); }
private static void TestXml(string symbols, bool removeIgnorableContent, string xaml, string expected) { var preprocessor = new XamlPreprocessor(symbols, removeIgnorableContent); var result = preprocessor.ProcessXaml(xaml); Assert.AreEqual(expected, result); }
private static void TestXaml(string symbols, string xamlSnippet, string expectedResult) { var preprocessor = new XamlPreprocessor(symbols, false); var xaml = CreateInputXamlPage(xamlSnippet); var result = preprocessor.ProcessXaml(xaml); Assert.AreEqual(CreateResultXamlPage(expectedResult), result); }
private static void TestXaml(string symbols, bool removeIgnorableContent, string xamlName, Func <string, bool> evaluator, string errorMsg = "Test failed!") { var preprocessor = new XamlPreprocessor(symbols, removeIgnorableContent); var xaml = LoadXamlPage(xamlName); //Fix line endings on Mac OS: force all line endings to CR var processed = preprocessor.ProcessXaml(xaml); var expected = evaluator(processed); if (!expected) { Assert.Fail(errorMsg); } }