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

ExpressionAggregates() private method

private ExpressionAggregates ( ) : void
return void
        public void ExpressionAggregates()
        {
            DataTable T = new DataTable("test");
            DataTable T2 = new DataTable("test2");

            DataColumn C = new DataColumn("name");
            T.Columns.Add(C);
            C = new DataColumn("age");
            C.DataType = typeof(int);
            T.Columns.Add(C);
            C = new DataColumn("childname");
            T.Columns.Add(C);

            C = new DataColumn("expression");
            T.Columns.Add(C);

            DataSet Set = new DataSet("TestSet");
            Set.Tables.Add(T);
            Set.Tables.Add(T2);

            DataRow Row = null;
            for (int i = 0; i < 100; i++)
            {
                Row = T.NewRow();
                Row[0] = "human" + i;
                Row[1] = i;
                Row[2] = "child" + i;
                T.Rows.Add(Row);
            }

            Row = T.NewRow();
            Row[0] = "h*an";
            Row[1] = DBNull.Value;
            T.Rows.Add(Row);

            C = new DataColumn("name");
            T2.Columns.Add(C);
            C = new DataColumn("age");
            C.DataType = typeof(int);
            T2.Columns.Add(C);

            for (int i = 0; i < 100; i++)
            {
                Row = T2.NewRow();
                Row[0] = "child" + i;
                Row[1] = i;
                T2.Rows.Add(Row);
                Row = T2.NewRow();
                Row[0] = "child" + i;
                Row[1] = i - 2;
                T2.Rows.Add(Row);
            }

            DataRelation Rel = new DataRelation("Rel", T.Columns[2], T2.Columns[0]);
            Set.Relations.Add(Rel);

            C = T.Columns[3];
            C.Expression = "Sum (Child.age)";
            Assert.Equal("-2", T.Rows[0][3]);
            Assert.Equal("98", T.Rows[50][3]);

            C.Expression = "Count (Child.age)";
            Assert.Equal("2", T.Rows[0][3]);
            Assert.Equal("2", T.Rows[60][3]);

            C.Expression = "Avg (Child.age)";
            Assert.Equal("-1", T.Rows[0][3]);
            Assert.Equal("59", T.Rows[60][3]);

            C.Expression = "Min (Child.age)";
            Assert.Equal("-2", T.Rows[0][3]);
            Assert.Equal("58", T.Rows[60][3]);

            C.Expression = "Max (Child.age)";
            Assert.Equal("0", T.Rows[0][3]);
            Assert.Equal("60", T.Rows[60][3]);

            C.Expression = "stdev (Child.age)";
            Assert.Equal((1.4142135623731).ToString(T.Locale), T.Rows[0][3]);
            Assert.Equal((1.4142135623731).ToString(T.Locale), T.Rows[60][3]);

            C.Expression = "var (Child.age)";
            Assert.Equal("2", T.Rows[0][3]);
            Assert.Equal("2", T.Rows[60][3]);
        }