System.Data.Tests.DataColumnTest.Aggregation_CheckIfChangesDynamically_ChildTable C# (CSharp) Method

Aggregation_CheckIfChangesDynamically_ChildTable() private method

private Aggregation_CheckIfChangesDynamically_ChildTable ( ) : void
return void
        public void Aggregation_CheckIfChangesDynamically_ChildTable()
        {
            DataSet ds = new DataSet();

            DataTable table = new DataTable();
            DataTable table2 = new DataTable();
            ds.Tables.Add(table);
            ds.Tables.Add(table2);

            table.Columns.Add("test", typeof(int));
            table2.Columns.Add("test", typeof(int));
            table2.Columns.Add("val", typeof(int));
            DataRelation rel = new DataRelation("rel", table.Columns[0], table2.Columns[0]);
            ds.Relations.Add(rel);

            table.Columns.Add("result_count", typeof(int), "count(child.test)");
            table.Columns.Add("result_sum", typeof(int), "sum(child.test)");
            table.Columns.Add("result_avg", typeof(int), "avg(child.test)");
            table.Columns.Add("result_max", typeof(int), "max(child.test)");
            table.Columns.Add("result_min", typeof(int), "min(child.test)");
            table.Columns.Add("result_var", typeof(double), "var(child.test)");
            table.Columns.Add("result_stdev", typeof(double), "stdev(child.test)");

            table.Rows.Add(new object[] { 1 });
            table.Rows.Add(new object[] { 2 });
            // Add rows to the child table
            for (int j = 0; j < 10; j++)
                table2.Rows.Add(new object[] { 1, j });

            // Check the values for the expression columns in parent table 
            Assert.Equal(10, table.Rows[0]["result_count"]);
            Assert.Equal(0, table.Rows[1]["result_count"]);

            Assert.Equal(10, table.Rows[0]["result_sum"]);
            Assert.Equal(DBNull.Value, table.Rows[1]["result_sum"]);

            Assert.Equal(1, table.Rows[0]["result_avg"]);
            Assert.Equal(DBNull.Value, table.Rows[1]["result_avg"]);

            Assert.Equal(1, table.Rows[0]["result_max"]);
            Assert.Equal(DBNull.Value, table.Rows[1]["result_max"]);

            Assert.Equal(1, table.Rows[0]["result_min"]);
            Assert.Equal(DBNull.Value, table.Rows[1]["result_min"]);

            Assert.Equal(0.0, table.Rows[0]["result_var"]);
            Assert.Equal(DBNull.Value, table.Rows[1]["result_var"]);

            Assert.Equal(0.0, table.Rows[0]["result_stdev"]);
            Assert.Equal(DBNull.Value, table.Rows[1]["result_stdev"]);
        }