System.Data.Tests.DataRowTest.SetParentRow_DataInheritance C# (CSharp) Метод

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

private SetParentRow_DataInheritance ( ) : void
Результат void
        public void SetParentRow_DataInheritance()
        {
            var ds = new DataSet();

            var child = ds.Tables.Add("child");

            var childColumn1 = child.Columns.Add("column1");
            var childColumn2 = child.Columns.Add("column2");

            var parent1 = ds.Tables.Add("parent1");
            var parent1Column1 = parent1.Columns.Add("column1");
            var parent1Column2 = parent1.Columns.Add("column2");

            var parent2 = ds.Tables.Add("parent2");
            var parent2Column1 = parent2.Columns.Add("column1");
            var parent2Column2 = parent2.Columns.Add("column2");

            var relation1 = ds.Relations.Add("parent1-child", parent1Column1, childColumn1);
            ds.Relations.Add("parent2-child", parent2Column2, childColumn2);

            var childRow1 = child.NewRow();
            var parent1Row = parent1.NewRow();
            var parent2Row = parent2.NewRow();

            parent1Row[parent1Column1] = "p1c1";
            parent1Row[parent1Column2] = "p1c2";
            parent2Row[parent2Column1] = "p2c1";
            parent2Row[parent2Column2] = "p2c2";

            child.Rows.Add(childRow1);
            parent1.Rows.Add(parent1Row);
            parent2.Rows.Add(parent2Row);

            childRow1.SetParentRow(parent1Row);
            Assert.Equal("p1c1", childRow1[childColumn1]);
            Assert.Equal(DBNull.Value, childRow1[childColumn2]);

            childRow1.SetParentRow(parent2Row);
            Assert.Equal("p1c1", childRow1[childColumn1]);
            Assert.Equal("p2c2", childRow1[childColumn2]);

            childRow1.SetParentRow(null);
            Assert.Equal(DBNull.Value, childRow1[childColumn1]);
            Assert.Equal(DBNull.Value, childRow1[childColumn2]);

            childRow1.SetParentRow(parent2Row);
            Assert.Equal(DBNull.Value, childRow1[childColumn1]);
            Assert.Equal("p2c2", childRow1[childColumn2]);
        }