Пример #1
0
 public static ReadOnlyCollection <IDiffCsvColumn> CreateStandardColumns(DiffConfiguration diffConfiguration)
 {
     return(new ReadOnlyCollection <IDiffCsvColumn>(new IDiffCsvColumn[]
     {
         new DiffIdCsvColumn(diffConfiguration),
         new DiffKindCsvColumn(diffConfiguration),
         new DiffSubKindCsvColumn(diffConfiguration),
         new DiffStaticCsvColumn(diffConfiguration),
         new DiffVirtualityCsvColumn(diffConfiguration),
         new DiffOverrideCsvColumn(diffConfiguration),
         new DiffUnsafeCsvColumn(diffConfiguration),
         new DiffObsoletionCsvColumn(diffConfiguration),
         new DiffInOldCsvColumn(diffConfiguration),
         new DiffInNewCsvColumn(diffConfiguration),
         new DiffDifferenceCsvColumn(diffConfiguration),
         new DiffOldAssemblyCsvColumn(diffConfiguration),
         new DiffNewAssemblyCsvColumn(diffConfiguration),
         new DiffNamespaceCsvColumn(diffConfiguration),
         new DiffTypeCsvColumn(diffConfiguration),
         new DiffMemberCsvColumn(diffConfiguration),
         new DiffVisibiliyCsvColumn(diffConfiguration),
         new DiffTypeIdCsvColumn(diffConfiguration),
         new DiffTypeIsExposedCsvColumn(diffConfiguration),
         new DiffReturnTypeCsvColumn(diffConfiguration),
         new DiffTokensCsvColumn(diffConfiguration)
     }));
 }
Пример #2
0
        private void PerformAssertion(string control, string test, bool assertion,
                                      DiffConfiguration xmlUnitConfiguration)
        {
            XmlDiff diff = new XmlDiff(new XmlInput(control), new XmlInput(test),
                                       xmlUnitConfiguration);

            PerformAssertion(diff, assertion);
        }
Пример #3
0
        public DiffTokensCsvColumn(DiffConfiguration diffConfiguration)
            : base(diffConfiguration)
        {
            var stringWriter    = new StringWriter();
            var writer          = new TextSyntaxWriter(stringWriter);
            var mappingSettings = DiffEngine.GetMappingSettings(diffConfiguration);

            _diffWriter = new DiffCSharpWriter(writer, mappingSettings);
        }
Пример #4
0
        public void CompareExpectedXMLs()
        {
            Dictionary <string, string> expected = new Dictionary <string, string>();
            Dictionary <string, string> actual   = new Dictionary <string, string>();

            RunReport(mValidTrxFile);

            XmlNamespaceManager xmlNamespaceManager = new XmlNamespaceManager(new NameTable());

            xmlNamespaceManager.AddNamespace("prefix", "urn:model.allure.qatools.yandex.ru");

            DiffConfiguration diffConfiguration = new DiffConfiguration(String.Empty, false, WhitespaceHandling.None, true);

            FillCategoryToXmlMap("sample-output", expected);
            FillCategoryToXmlMap(mTargetDir, actual);

            if (expected.Keys.Count != actual.Keys.Count)
            {
                Assert.Fail("Expected {0} categories but found {1}.", expected.Keys.Count, actual.Keys.Count);
            }

            foreach (string category in actual.Keys)
            {
                if (!expected.ContainsKey(category))
                {
                    Assert.Fail("The category " + category + " was not expected.");
                }

                string expectedFile = expected[category];
                string actualFile   = actual[category];

                string expectedFileText = File.ReadAllText(expectedFile);
                string actualFileText   = File.ReadAllText(actualFile);

                XmlInput control = new XmlInput(expectedFileText);
                XmlInput test    = new XmlInput(actualFileText);

                XmlDiff xmlDiff = new XmlDiff(control, test, diffConfiguration);

                DiffResult diffResult = xmlDiff.Compare();
                if (!diffResult.Identical)
                {
                    string failureMessage = String.Format("The expected file {0} was different from the actual file {1}", expectedFile, actualFile);
                    failureMessage += Environment.NewLine;
                    failureMessage += "Expected XML: ";
                    failureMessage += expectedFileText;
                    failureMessage += Environment.NewLine;
                    failureMessage += "Actual XML: ";
                    failureMessage += actualFileText;
                    failureMessage += Environment.NewLine;
                    failureMessage += "Difference: ";
                    failureMessage += diffResult.Difference;

                    Assert.Fail(failureMessage);
                }
            }
        }
Пример #5
0
        public static bool AreXmlElementsEqual(XmlInput ours, XmlInput theirs)
        {
            // Must use 'config', or whitespace only differences will make the elements different.
            // cf. diffing changeset 240 and 241 in the Tok Pisin project for such whitespace differences.
            var config     = new DiffConfiguration(WhitespaceHandling.None);
            var diff       = new XmlDiff(ours, theirs, config);
            var diffResult = diff.Compare();

            return(diffResult == null || diffResult.Difference == null || !diffResult.Difference.MajorDifference);
        }
Пример #6
0
        [Test] public void DefaultConfiguredWithGenericDescription()
        {
            DiffConfiguration diffConfiguration = new DiffConfiguration();

            Assert.AreEqual(DiffConfiguration.DEFAULT_DESCRIPTION,
                            diffConfiguration.Description);

            Assert.AreEqual(DiffConfiguration.DEFAULT_DESCRIPTION,
                            new XmlDiff("", "").OptionalDescription);
        }
Пример #7
0
        [Test] public void DefaultConfiguredWithWhitespaceHandlingAll()
        {
            DiffConfiguration diffConfiguration = new DiffConfiguration();

            Assert.AreEqual(WhitespaceHandling.All, diffConfiguration.WhitespaceHandling);

            PerformAssertion(xmlWithoutWhitespace, xmlWithWhitespaceElement, false);
            PerformAssertion(xmlWithoutWhitespace, xmlWithoutWhitespaceElement, false);
            PerformAssertion(xmlWithoutWhitespace, xmlWithWhitespace, false);
            PerformAssertion(xmlWithoutWhitespaceElement, xmlWithWhitespaceElement, false);
        }
 public void CanConfigureWhitespaceHandlingSignificant()
 {
     DiffConfiguration xmlUnitConfiguration =
         new DiffConfiguration (WhitespaceHandling.Significant);
     PerformAssertion(xmlWithoutWhitespace, xmlWithWhitespaceElement,
                      true, xmlUnitConfiguration);
     PerformAssertion(xmlWithoutWhitespace, xmlWithoutWhitespaceElement,
                      true, xmlUnitConfiguration);
     PerformAssertion(xmlWithoutWhitespace, xmlWithWhitespace,
                      true, xmlUnitConfiguration);
     PerformAssertion(xmlWithoutWhitespaceElement, xmlWithWhitespaceElement,
                      true, xmlUnitConfiguration);
 }
Пример #9
0
        [Test] public void CanConfigureWhitespaceHandlingNone()
        {
            DiffConfiguration xmlUnitConfiguration =
                new DiffConfiguration(WhitespaceHandling.None);

            PerformAssertion(xmlWithoutWhitespace, xmlWithWhitespaceElement,
                             true, xmlUnitConfiguration);
            PerformAssertion(xmlWithoutWhitespace, xmlWithoutWhitespaceElement,
                             true, xmlUnitConfiguration);
            PerformAssertion(xmlWithoutWhitespace, xmlWithWhitespace,
                             true, xmlUnitConfiguration);
            PerformAssertion(xmlWithoutWhitespaceElement, xmlWithWhitespaceElement,
                             true, xmlUnitConfiguration);
        }
        public void CanConfigureNotToUseValidatingParser()
        {
            DiffConfiguration diffConfiguration = new DiffConfiguration(false);
            Assert.AreEqual(false, diffConfiguration.UseValidatingParser);

            Stream controlFileStream = ValidatorTests.ValidFile;
            Stream testFileStream = ValidatorTests.InvalidFile;
            try {
                XmlDiff diff = new XmlDiff(new XmlInput(controlFileStream),
                                           new XmlInput(testFileStream),
                                           diffConfiguration);
                diff.Compare();
            } catch (XmlSchemaException e) {
                Assert.Fail("Unexpected validation failure: " + e.Message);
            } finally {
                controlFileStream.Close();
                testFileStream.Close();
            }
        }
        public void DefaultConfiguredToUseValidatingParser()
        {
            DiffConfiguration diffConfiguration = new DiffConfiguration();
            Assert.AreEqual(DiffConfiguration.DEFAULT_USE_VALIDATING_PARSER,
                                   diffConfiguration.UseValidatingParser);

            Stream controlFileStream = ValidatorTests.ValidFile;
            Stream testFileStream = ValidatorTests.InvalidFile;
            try {
                XmlDiff diff = new XmlDiff(new StreamReader(controlFileStream),
                                           new StreamReader(testFileStream));
                diff.Compare();
                Assert.Fail("Expected validation failure");
            } catch (XmlSchemaException e) {
                string message = e.Message; // to prevent 'unused variable' compiler warning
            } finally {
                controlFileStream.Close();
                testFileStream.Close();
            }
        }
Пример #12
0
        [Test] public void CanConfigureNotToUseValidatingParser()
        {
            DiffConfiguration diffConfiguration = new DiffConfiguration(false);

            Assert.AreEqual(false, diffConfiguration.UseValidatingParser);

            Stream controlFileStream = ValidatorTests.ValidFile;
            Stream testFileStream    = ValidatorTests.InvalidFile;

            try {
                XmlDiff diff = new XmlDiff(new XmlInput(controlFileStream),
                                           new XmlInput(testFileStream),
                                           diffConfiguration);
                diff.Compare();
            } catch (XmlSchemaException e) {
                Assert.Fail("Unexpected validation failure: " + e.Message);
            } finally {
                controlFileStream.Close();
                testFileStream.Close();
            }
        }
Пример #13
0
        [Test] public void DefaultConfiguredToUseValidatingParser()
        {
            DiffConfiguration diffConfiguration = new DiffConfiguration();

            Assert.AreEqual(DiffConfiguration.DEFAULT_USE_VALIDATING_PARSER,
                            diffConfiguration.UseValidatingParser);

            Stream controlFileStream = ValidatorTests.ValidFile;
            Stream testFileStream    = ValidatorTests.InvalidFile;

            try {
                XmlDiff diff = new XmlDiff(new StreamReader(controlFileStream),
                                           new StreamReader(testFileStream));
                diff.Compare();
                Assert.Fail("Expected validation failure");
            } catch (XmlSchemaException e) {
                string message = e.Message; // to prevent 'unused variable' compiler warning
            } finally {
                controlFileStream.Close();
                testFileStream.Close();
            }
        }
Пример #14
0
        public void CanConfigureNotToUseValidatingParser()
        {
            DiffConfiguration diffConfiguration = new DiffConfiguration(false);

            Assert.AreEqual(false, diffConfiguration.UseValidatingParser);

            FileStream controlFileStream = File.Open(VALID_FILE,
                                                     FileMode.Open, FileAccess.Read);
            FileStream testFileStream = File.Open(INVALID_FILE,
                                                  FileMode.Open, FileAccess.Read);

            try {
                XmlDiff diff = new XmlDiff(new XmlInput(controlFileStream),
                                           new XmlInput(testFileStream),
                                           diffConfiguration);
                diff.Compare();
            } catch (XmlSchemaException e) {
                Assert.Fail("Unexpected validation failure: " + e.Message);
            } finally {
                controlFileStream.Close();
                testFileStream.Close();
            }
        }
Пример #15
0
        private void CheckXmlMapping(string hbm, params string[] stream)
        {
            NameTable nt = new NameTable();

            nt.Add("urn:nhibernate-mapping-2.2");
            var nsmgr = new XmlNamespaceManager(nt);

            nsmgr.AddNamespace("urn", "urn:nhibernate-mapping-2.2");
            XmlDocument doc = new XmlDocument(nt);

            doc.PreserveWhitespace = true;
            doc.LoadXml(internalStreams[stream[0]].ToString());
            XmlNode refChild = doc.SelectSingleNode("//urn:class", nsmgr);

            for (int i = 1; i < stream.Length; ++i)
            {
                XmlDocument docChild = new XmlDocument(nt);
                docChild.PreserveWhitespace = true;
                docChild.LoadXml(internalStreams[stream[i]].ToString());
                doc.SelectSingleNode("/urn:hibernate-mapping", nsmgr).AppendChild(doc.ImportNode(docChild.SelectSingleNode("//urn:class", nsmgr), true));
            }
            DiffConfiguration dc   = new DiffConfiguration("test", true, WhitespaceHandling.None, true);
            XmlDiff           diff = new XmlDiff(new XmlInput(doc.OuterXml)
                                                 , new XmlInput(ResourceHelper.GetResource(hbm))
                                                 , dc
                                                 );
            var res = diff.Compare();

            if (!res.Equal)
            {
                Console.WriteLine("Expected xml was:");
                Console.WriteLine(ResourceHelper.GetResource(hbm));
                Console.WriteLine("But was:");
                Console.WriteLine(doc.InnerXml);
            }
            Assert.IsTrue(res.Equal);
        }
Пример #16
0
 public DiffOldAssemblyCsvColumn(DiffConfiguration diffConfiguration)
     : base(diffConfiguration, 0)
 {
 }
Пример #17
0
 public DiffMemberCsvColumn(DiffConfiguration diffConfiguration)
     : base(diffConfiguration)
 {
 }
Пример #18
0
 protected DiffAssemblyCsvColumn(DiffConfiguration diffConfiguration, int index)
     : base(diffConfiguration)
 {
     _index = index;
 }
Пример #19
0
 public DiffVirtualityCsvColumn(DiffConfiguration diffConfiguration)
     : base(diffConfiguration)
 {
 }
Пример #20
0
 public DiffStaticCsvColumn(DiffConfiguration diffConfiguration)
     : base(diffConfiguration)
 {
 }
        public void DefaultConfiguredWithGenericDescription()
        {
            DiffConfiguration diffConfiguration = new DiffConfiguration();
            Assert.AreEqual(DiffConfiguration.DEFAULT_DESCRIPTION,
                                   diffConfiguration.Description);

            Assert.AreEqual(DiffConfiguration.DEFAULT_DESCRIPTION,
                                   new XmlDiff("", "").OptionalDescription);
        }
Пример #22
0
 protected DiffCsvColumn(DiffConfiguration diffConfiguration)
 {
     DiffConfiguration = diffConfiguration;
 }
Пример #23
0
 public DiffTypeCsvColumn(DiffConfiguration diffConfiguration)
     : base(diffConfiguration)
 {
 }
 public DiffNewAssemblyCsvColumn(DiffConfiguration diffConfiguration)
     : base(diffConfiguration, 1)
 {
 }
Пример #25
0
 public DiffOverrideCsvColumn(DiffConfiguration diffConfiguration)
     : base(diffConfiguration)
 {
 }
Пример #26
0
 public DiffKindCsvColumn(DiffConfiguration diffConfiguration)
     : base(diffConfiguration)
 {
 }
 public DiffTypeIsExposedCsvColumn(DiffConfiguration diffConfiguration)
     : base(diffConfiguration)
 {
 }
Пример #28
0
 public DiffDifferenceCsvColumn(DiffConfiguration diffConfiguration)
     : base(diffConfiguration)
 {
 }
Пример #29
0
 public DiffInNewCsvColumn(DiffConfiguration diffConfiguration)
     : base(diffConfiguration)
 {
 }
 public DiffNamespaceCsvColumn(DiffConfiguration diffConfiguration)
     : base(diffConfiguration)
 {
 }
 private void PerformAssertion(string control, string test, bool assertion, 
     DiffConfiguration xmlUnitConfiguration)
 {
     XmlDiff diff = new XmlDiff(new XmlInput(control), new XmlInput(test),
                                xmlUnitConfiguration);
     PerformAssertion(diff, assertion);
 }
Пример #32
0
 public DiffVisibiliyCsvColumn(DiffConfiguration diffConfiguration)
     : base(diffConfiguration)
 {
 }
Пример #33
0
 public DiffUnsafeCsvColumn(DiffConfiguration diffConfiguration)
     : base(diffConfiguration)
 {
 }
        public void DefaultConfiguredWithWhitespaceHandlingAll()
        {
            DiffConfiguration diffConfiguration = new DiffConfiguration();
            Assert.AreEqual(WhitespaceHandling.All, diffConfiguration.WhitespaceHandling);

            PerformAssertion(xmlWithoutWhitespace, xmlWithWhitespaceElement, false);
            PerformAssertion(xmlWithoutWhitespace, xmlWithoutWhitespaceElement, false);
            PerformAssertion(xmlWithoutWhitespace, xmlWithWhitespace, false);
            PerformAssertion(xmlWithoutWhitespaceElement, xmlWithWhitespaceElement, false);
        }
 public DiffObsoletionCsvColumn(DiffConfiguration diffConfiguration)
     : base(diffConfiguration)
 {
 }