System.Data.Tests.DataColumnTest2.Expression_Aggregate C# (CSharp) Method

Expression_Aggregate() private method

private Expression_Aggregate ( ) : void
return void
        public void Expression_Aggregate()
        {
            DataTable dt = DataProvider.CreateParentDataTable();
            //Simple expression -->  aggregate
            DataColumn dc = new DataColumn("expr", Type.GetType("System.Decimal"));
            dt.Columns.Add(dc);
            dt.Columns["expr"].Expression = "sum(" + dt.Columns[0].ColumnName + ") + count(" + dt.Columns[0].ColumnName + ")";
            dt.Columns["expr"].Expression += " + avg(" + dt.Columns[0].ColumnName + ") + Min(" + dt.Columns[0].ColumnName + ")";


            //Check the values
            double temp;
            string str;

            double sum = Convert.ToDouble(dt.Compute("sum(" + dt.Columns[0].ColumnName + ")", string.Empty));
            double count = Convert.ToDouble(dt.Compute("count(" + dt.Columns[0].ColumnName + ")", string.Empty));
            double avg = Convert.ToDouble(dt.Compute("avg(" + dt.Columns[0].ColumnName + ")", string.Empty));
            double min = Convert.ToDouble(dt.Compute("min(" + dt.Columns[0].ColumnName + ")", string.Empty));

            str = (sum + count + avg + min).ToString();
            foreach (DataRow dr in dt.Rows)
            {
                if (str.Length > 3)
                {
                    temp = Convert.ToDouble(str.Substring(0, 4));
                }
                else
                {
                    temp = Convert.ToDouble(str);
                }

                Assert.Equal(temp, Convert.ToDouble(dr["expr"]));
            }
        }