System.Data.Tests.DataTableTest4.XmlTest10 C# (CSharp) Метод

XmlTest10() приватный Метод

private XmlTest10 ( ) : void
Результат void
        public void XmlTest10()
        {
            MakeDummyTable();

            using (FileStream stream = new FileStream(_tempFile, FileMode.Create))
            {
                _dummyTable.WriteXml(stream, XmlWriteMode.DiffGram);
            }

            using (FileStream stream = new FileStream(_tempFile, FileMode.Open))
            {
                XmlReaderSettings settings = new XmlReaderSettings();
                settings.IgnoreWhitespace = true;
                XmlReader reader = XmlReader.Create(stream, settings);

                reader.Read();
                Assert.Equal(true, reader.IsStartElement());
                Assert.Equal(0, reader.Depth);
                Assert.Equal(true, reader.HasAttributes);
                Assert.Equal(false, reader.HasValue);
                Assert.Equal(false, reader.IsDefault);
                Assert.Equal(false, reader.IsEmptyElement);
                Assert.Equal("diffgr:diffgram", reader.Name);
                Assert.Equal("diffgram", reader.LocalName);
                Assert.Equal(2, reader.AttributeCount);
                Assert.Equal("urn:schemas-microsoft-com:xml-msdata", reader[0]);
                Assert.Equal("urn:schemas-microsoft-com:xml-diffgram-v1", reader[1]);
                Assert.Equal("urn:schemas-microsoft-com:xml-diffgram-v1", reader.NamespaceURI);
                Assert.Equal(XmlNodeType.Element, reader.NodeType);

                reader.Read();
                Assert.Equal(true, reader.IsStartElement());
                Assert.Equal(1, reader.Depth);
                Assert.Equal(false, reader.HasAttributes);
                Assert.Equal(false, reader.HasValue);
                Assert.Equal(false, reader.IsDefault);
                Assert.Equal(false, reader.IsEmptyElement);
                Assert.Equal("NewDataSet", reader.Name);
                Assert.Equal("NewDataSet", reader.LocalName);
                Assert.Equal(XmlNodeType.Element, reader.NodeType);

                reader.Read();
                Assert.Equal(true, reader.IsStartElement());
                Assert.Equal(2, reader.Depth);
                Assert.Equal(true, reader.HasAttributes);
                Assert.Equal(false, reader.HasValue);
                Assert.Equal(false, reader.IsDefault);
                Assert.Equal(false, reader.IsEmptyElement);
                Assert.Equal("DummyTable", reader.Name);
                Assert.Equal("DummyTable", reader.LocalName);
                Assert.Equal(2, reader.AttributeCount);
                Assert.Equal("DummyTable1", reader[0]);
                Assert.Equal("0", reader[1]);
                Assert.Equal(XmlNodeType.Element, reader.NodeType);

                reader.Read();
                VerifyDiffGramElement1(reader);

                reader.Read();
                Assert.Equal(XmlNodeType.Text, reader.NodeType);
                Assert.Equal(true, reader.HasValue);
                Assert.Equal("1", reader.Value);

                reader.Read();
                VerifyDiffGramElement3(reader);

                reader.Read();
                VerifyDiffGramElement2(reader);

                reader.Read();
                Assert.Equal(XmlNodeType.Text, reader.NodeType);
                Assert.Equal(true, reader.HasValue);
                Assert.Equal("DummyItem 1", reader.Value);

                reader.Read();
                Assert.Equal(false, reader.IsStartElement());
                Assert.Equal("DummyItem", reader.Name);
                Assert.Equal("DummyItem", reader.LocalName);
                Assert.Equal(XmlNodeType.EndElement, reader.NodeType);

                reader.Read();
                Assert.Equal(false, reader.IsStartElement());
                Assert.Equal("DummyTable", reader.Name);
                Assert.Equal("DummyTable", reader.LocalName);
                Assert.Equal(XmlNodeType.EndElement, reader.NodeType);

                reader.Read();
                Assert.Equal(true, reader.IsStartElement());
                Assert.Equal(2, reader.Depth);
                Assert.Equal(true, reader.HasAttributes);
                Assert.Equal(false, reader.HasValue);
                Assert.Equal(false, reader.IsDefault);
                Assert.Equal(false, reader.IsEmptyElement);
                Assert.Equal("DummyTable", reader.Name);
                Assert.Equal("DummyTable", reader.LocalName);
                Assert.Equal(3, reader.AttributeCount);
                Assert.Equal("DummyTable2", reader[0]);
                Assert.Equal("1", reader[1]);
                Assert.Equal("modified", reader[2]);
                Assert.Equal(XmlNodeType.Element, reader.NodeType);

                reader.Read();
                VerifyDiffGramElement1(reader);

                reader.Read();
                Assert.Equal(XmlNodeType.Text, reader.NodeType);
                Assert.Equal(true, reader.HasValue);
                Assert.Equal("2", reader.Value);

                reader.Read();
                VerifyDiffGramElement3(reader);

                reader.Read();
                VerifyDiffGramElement2(reader);

                reader.Read();
                Assert.Equal(XmlNodeType.Text, reader.NodeType);
                Assert.Equal(true, reader.HasValue);
                Assert.Equal("Changed_DummyItem 2", reader.Value);

                reader.Read();
                VerifyDiffGramElement4(reader);

                reader.Read();
                VerifyDiffGramElement5(reader);

                reader.Read();
                Assert.Equal(true, reader.IsStartElement());
                Assert.Equal(2, reader.Depth);
                Assert.Equal(true, reader.HasAttributes);
                Assert.Equal(false, reader.HasValue);
                Assert.Equal(false, reader.IsDefault);
                Assert.Equal(false, reader.IsEmptyElement);
                Assert.Equal("DummyTable", reader.Name);
                Assert.Equal("DummyTable", reader.LocalName);
                Assert.Equal(2, reader.AttributeCount);
                Assert.Equal("DummyTable3", reader[0]);
                Assert.Equal("2", reader[1]);
                Assert.Equal(XmlNodeType.Element, reader.NodeType);

                reader.Read();
                VerifyDiffGramElement1(reader);

                reader.Read();
                Assert.Equal(XmlNodeType.Text, reader.NodeType);
                Assert.Equal(true, reader.HasValue);
                Assert.Equal("3", reader.Value);

                reader.Read();
                VerifyDiffGramElement3(reader);

                reader.Read();
                VerifyDiffGramElement2(reader);


                reader.Read();
                Assert.Equal(XmlNodeType.Text, reader.NodeType);
                Assert.Equal(true, reader.HasValue);
                Assert.Equal("DummyItem 3", reader.Value);

                reader.Read();
                VerifyDiffGramElement4(reader);

                reader.Read();
                VerifyDiffGramElement5(reader);

                reader.Read();
                Assert.Equal(false, reader.IsStartElement());
                Assert.Equal("NewDataSet", reader.Name);
                Assert.Equal("NewDataSet", reader.LocalName);
                Assert.Equal(XmlNodeType.EndElement, reader.NodeType);

                reader.Read();
                Assert.Equal(true, reader.IsStartElement());
                Assert.Equal(1, reader.Depth);
                Assert.Equal(false, reader.HasAttributes);
                Assert.Equal(false, reader.HasValue);
                Assert.Equal(false, reader.IsDefault);
                Assert.Equal(false, reader.IsEmptyElement);
                Assert.Equal("diffgr:before", reader.Name);
                Assert.Equal("before", reader.LocalName);
                Assert.Equal(XmlNodeType.Element, reader.NodeType);

                reader.Read();
                Assert.Equal(true, reader.IsStartElement());
                Assert.Equal(2, reader.Depth);
                Assert.Equal(true, reader.HasAttributes);
                Assert.Equal(false, reader.HasValue);
                Assert.Equal(false, reader.IsDefault);
                Assert.Equal(false, reader.IsEmptyElement);
                Assert.Equal("DummyTable", reader.Name);
                Assert.Equal("DummyTable", reader.LocalName);
                Assert.Equal(2, reader.AttributeCount);
                Assert.Equal("DummyTable2", reader[0]);
                Assert.Equal("1", reader[1]);
                Assert.Equal(XmlNodeType.Element, reader.NodeType);

                reader.Read();
                VerifyDiffGramElement1(reader);

                reader.Read();
                Assert.Equal(XmlNodeType.Text, reader.NodeType);
                Assert.Equal(true, reader.HasValue);
                Assert.Equal("2", reader.Value);

                reader.Read();
                VerifyDiffGramElement3(reader);

                reader.Read();
                VerifyDiffGramElement2(reader);

                reader.Read();
                Assert.Equal(XmlNodeType.Text, reader.NodeType);
                Assert.Equal(true, reader.HasValue);
                Assert.Equal("DummyItem 2", reader.Value);

                reader.Read();
                VerifyDiffGramElement4(reader);

                reader.Read();
                VerifyDiffGramElement5(reader);

                reader.Read();
                Assert.Equal(false, reader.IsStartElement());
                Assert.Equal("diffgr:before", reader.Name);
                Assert.Equal("before", reader.LocalName);
                Assert.Equal(XmlNodeType.EndElement, reader.NodeType);

                reader.Read();
                Assert.Equal(false, reader.IsStartElement());
                Assert.Equal("diffgr:diffgram", reader.Name);
                Assert.Equal("diffgram", reader.LocalName);
                Assert.Equal(XmlNodeType.EndElement, reader.NodeType);
            }
        }