Esempio n. 1
0
        public void ReadInnerXmlTest()
        {
            var testCases = new[]
            {
                new {
                    Xml = TestXml,
                    InterestingElementName = "deep"
                },
                new {
                    Xml = "<foo/>",
                    InterestingElementName = "foo"
                },
                new {
                    Xml = "<foo>some text node</foo>",
                    InterestingElementName = "foo"
                },
            };

            this.CombinatorialEngineProvider.RunCombinations(
                testCases,
                testCase =>
            {
                using (XmlReader baselineReader = XmlReader.Create(new StringReader(testCase.Xml)))
                {
                    this.expectedXmlBaseUriStack.Clear();
                    using (XmlReader comparedReader = XmlReader.Create(new StringReader(testCase.Xml)))
                    {
                        BufferingXmlReader bufferingXmlReader = new BufferingXmlReader(
                            comparedReader,
                            /*parentXmlReader*/ null,
                            /*documentBaseUri*/ null,
                            /*disableXmlBase*/ false,
                            ODataConstants.DefaultMaxRecursionDepth,
                            this.Assert);

                        while (true)
                        {
                            this.VerifyReadersAreEqual(baselineReader, bufferingXmlReader, 1, false, false);
                            if (testCase.InterestingElementName == null)
                            {
                                break;
                            }
                            else if (baselineReader.NodeType == XmlNodeType.Element && baselineReader.LocalName == testCase.InterestingElementName)
                            {
                                break;
                            }
                        }

                        this.Assert.AreEqual(baselineReader.ReadInnerXml(), bufferingXmlReader.ReadInnerXml(), "ReadInnerXml failed.");

                        this.VerifyReadersAreEqual(baselineReader, bufferingXmlReader, Int32.MaxValue, false, false);
                    }
                }
            });
        }
        public void ReadInnerXmlTest()
        {
            var testCases = new[]
                {
                    new {
                        Xml = TestXml,
                        InterestingElementName = "deep"
                    },
                    new {
                        Xml = "<foo/>",
                        InterestingElementName = "foo"
                    },
                    new {
                        Xml = "<foo>some text node</foo>",
                        InterestingElementName = "foo"
                    },
                };

            this.CombinatorialEngineProvider.RunCombinations(
                testCases,
                testCase =>
                {
                    using (XmlReader baselineReader = XmlReader.Create(new StringReader(testCase.Xml)))
                    {
                        this.expectedXmlBaseUriStack.Clear();
                        using (XmlReader comparedReader = XmlReader.Create(new StringReader(testCase.Xml)))
                        {
                            BufferingXmlReader bufferingXmlReader = new BufferingXmlReader(
                                comparedReader,
                                /*parentXmlReader*/ null,
                                /*documentBaseUri*/ null,
                                /*disableXmlBase*/ false,
                                ODataConstants.DefaultMaxRecursionDepth,
                                this.Assert);

                            while (true)
                            {
                                this.VerifyReadersAreEqual(baselineReader, bufferingXmlReader, 1, false, false);
                                if (testCase.InterestingElementName == null)
                                {
                                    break;
                                }
                                else if (baselineReader.NodeType == XmlNodeType.Element && baselineReader.LocalName == testCase.InterestingElementName)
                                {
                                    break;
                                }
                            }

                            this.Assert.AreEqual(baselineReader.ReadInnerXml(), bufferingXmlReader.ReadInnerXml(), "ReadInnerXml failed.");

                            this.VerifyReadersAreEqual(baselineReader, bufferingXmlReader, Int32.MaxValue, false, false);
                        }
                    }
                });
        }