Ejemplo n.º 1
0
        public void TestDupKeyOnMigration()
        {
            var    newMasterDoc = new XmlDocument();
            string newMaster    = Path.Combine(testPathMerge, "NewMaster.xml");

            newMasterDoc.Load(newMaster);
            var    userDoc = new XmlDocument();
            string user    = Path.Combine(testPathMerge, "User.xml");

            userDoc.Load(user);
            string sourceFilePath = Path.Combine(testPathMerge, "LexSensePartsOutput.xml");
            string outDirFilePath = Path.Combine(Path.GetTempPath(), "LexSensePartsOutput.xml");

            if (File.Exists(outDirFilePath))
            {
                File.Delete(outDirFilePath);
            }
            File.Copy(sourceFilePath, outDirFilePath);
            var outputDoc = new XmlDocument();

            outputDoc.Load(outDirFilePath);
            var merger = new LayoutMerger();

            XmlNode      output      = merger.Merge(newMasterDoc.DocumentElement, userDoc.DocumentElement, outputDoc, "");
            const string checkValue1 = "layout[@class='LexSense' and @type='jtview' and @name='publishRootSub']/part[@ref='SemanticDomainsConfig' and @label='Semantic Domains' and @dup='1-2.0.0']";

            AssertThatXmlIn.String(output.OuterXml).HasSpecifiedNumberOfMatchesForXpath(checkValue1, 1);
            const string checkValue2 = "layout[@class='LexSense' and @type='jtview' and @name='publishRootSub']/part[@ref='SemanticDomainsConfig' and @label='Semantic Domains (1)' and @dup='1-2.0.0-1']";

            AssertThatXmlIn.String(output.OuterXml).HasSpecifiedNumberOfMatchesForXpath(checkValue2, 1);
            const string checkValue3 = "layout[@class='LexSense' and @type='jtview' and @name='publishRootSub']/part[@ref='SemanticDomainsConfig' and @label='Semantic Domains (2)' and @dup='1-2.0.0-2']";

            AssertThatXmlIn.String(output.OuterXml).HasSpecifiedNumberOfMatchesForXpath(checkValue3, 1);
        }
Ejemplo n.º 2
0
        void TestMerge(string newMaster, string user, string expectedOutput, string suffix)
        {
            var newMasterDoc = new XmlDocument();

            newMasterDoc.LoadXml(newMaster);
            var userDoc = new XmlDocument();

            userDoc.LoadXml(user);
            var     outputDoc   = new XmlDocument();
            var     merger      = new LayoutMerger();
            XmlNode output      = merger.Merge(newMasterDoc.DocumentElement, userDoc.DocumentElement, outputDoc, suffix);
            var     expectedDoc = new XmlDocument();

            expectedDoc.LoadXml(expectedOutput);
            Assert.IsTrue(XmlUtils.NodesMatch(output, expectedDoc.DocumentElement));
        }
Ejemplo n.º 3
0
        void TestMerge(string current, string user, string expectedOutput)
        {
            XmlDocument currentDoc = new XmlDocument();

            currentDoc.LoadXml(current);
            XmlDocument userDoc = new XmlDocument();

            userDoc.LoadXml(user);
            XmlDocument  outputDoc   = new XmlDocument();
            LayoutMerger merger      = new LayoutMerger();
            XmlNode      output      = merger.Merge(currentDoc.DocumentElement, userDoc.DocumentElement, outputDoc);
            XmlDocument  expectedDoc = new XmlDocument();

            expectedDoc.LoadXml(expectedOutput);
            Assert.IsTrue(XmlUtils.NodesMatch(output, expectedDoc.DocumentElement));
        }