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

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

private XmlTest9 ( ) : void
Результат void
        public void XmlTest9()
        {
            MakeParentTable1();
            MakeChildTable();
            MakeSecondChildTable();
            //Relate the parent and the children
            MakeDataRelation();

            using (FileStream stream = new FileStream(_tempFile, FileMode.Create))
            {
                //Write only the Xml
                _parentTable1.WriteXml(stream, XmlWriteMode.IgnoreSchema, true);
            }

            DataSet ds = new DataSet();
            ds.ReadXml(_tempFile);

            Assert.Equal(3, ds.Tables.Count);
            Assert.Equal("ParentTable", ds.Tables[0].TableName);
            Assert.Equal("ChildTable", ds.Tables[1].TableName);
            Assert.Equal("SecondChildTable", ds.Tables[2].TableName);

            //get the first table
            DataTable table = ds.Tables[0];
            Assert.Equal(3, table.Rows.Count);

            DataRow row = table.Rows[0];
            Assert.Equal("1", row["id"]);
            Assert.Equal("ParentItem 1", row["ParentItem"]);
            Assert.Equal("1", row["DepartmentID"]);

            row = table.Rows[1];
            Assert.Equal("2", row["id"]);
            Assert.Equal("ParentItem 2", row["ParentItem"]);
            Assert.Equal("2", row["DepartmentID"]);

            row = table.Rows[2];
            Assert.Equal("3", row["id"]);
            Assert.Equal("ParentItem 3", row["ParentItem"]);
            Assert.Equal("3", row["DepartmentID"]);

            //get the second table
            table = ds.Tables[1];
            Assert.Equal(6, table.Rows.Count);

            row = table.Rows[0];
            Assert.Equal("1", row["ChildID"]);
            Assert.Equal("ChildItem 1", row["ChildItem"]);
            Assert.Equal("1", row["ParentID"]);

            row = table.Rows[1];
            Assert.Equal("2", row["ChildID"]);
            Assert.Equal("ChildItem 2", row["ChildItem"]);
            Assert.Equal("1", row["ParentID"]);

            row = table.Rows[2];
            Assert.Equal("5", row["ChildID"]);
            Assert.Equal("ChildItem 1", row["ChildItem"]);
            Assert.Equal("2", row["ParentID"]);

            row = table.Rows[3];
            Assert.Equal("6", row["ChildID"]);
            Assert.Equal("ChildItem 2", row["ChildItem"]);
            Assert.Equal("2", row["ParentID"]);

            row = table.Rows[4];
            Assert.Equal("10", row["ChildID"]);
            Assert.Equal("ChildItem 1", row["ChildItem"]);
            Assert.Equal("3", row["ParentID"]);

            row = table.Rows[5];
            Assert.Equal("11", row["ChildID"]);
            Assert.Equal("ChildItem 2", row["ChildItem"]);
            Assert.Equal("3", row["ParentID"]);

            //get the third table
            table = ds.Tables[2];
            Assert.Equal(6, table.Rows.Count);

            row = table.Rows[0];
            Assert.Equal("1", row["ChildID"]);
            Assert.Equal("SecondChildItem 1", row["ChildItem"]);
            Assert.Equal("1", row["ParentID"]);
            Assert.Equal("1", row["DepartmentID"]);

            row = table.Rows[1];
            Assert.Equal("2", row["ChildID"]);
            Assert.Equal("SecondChildItem 2", row["ChildItem"]);
            Assert.Equal("1", row["ParentID"]);
            Assert.Equal("1", row["DepartmentID"]);

            row = table.Rows[2];
            Assert.Equal("5", row["ChildID"]);
            Assert.Equal("SecondChildItem 1", row["ChildItem"]);
            Assert.Equal("2", row["ParentID"]);
            Assert.Equal("2", row["DepartmentID"]);

            row = table.Rows[3];
            Assert.Equal("6", row["ChildID"]);
            Assert.Equal("SecondChildItem 2", row["ChildItem"]);
            Assert.Equal("2", row["ParentID"]);
            Assert.Equal("2", row["DepartmentID"]);

            row = table.Rows[4];
            Assert.Equal("10", row["ChildID"]);
            Assert.Equal("SecondChildItem 1", row["ChildItem"]);
            Assert.Equal("3", row["ParentID"]);
            Assert.Equal("3", row["DepartmentID"]);

            row = table.Rows[5];
            Assert.Equal("11", row["ChildID"]);
            Assert.Equal("SecondChildItem 2", row["ChildItem"]);
            Assert.Equal("3", row["ParentID"]);
            Assert.Equal("3", row["DepartmentID"]);
        }