public void SelectAggregates()
{
DataTable T = new DataTable("test");
DataColumn C = new DataColumn("name");
T.Columns.Add(C);
C = new DataColumn("age");
C.DataType = typeof(int);
T.Columns.Add(C);
C = new DataColumn("id");
T.Columns.Add(C);
DataRow Row = null;
for (int i = 0; i < 1000; i++)
{
Row = T.NewRow();
Row[0] = "human" + i;
Row[1] = i;
Row[2] = i;
T.Rows.Add(Row);
}
Assert.Equal(1000, T.Select("Sum(age) > 10").Length);
Assert.Equal(1000, T.Select("avg(age) = 499").Length);
Assert.Equal(1000, T.Select("min(age) = 0").Length);
Assert.Equal(1000, T.Select("max(age) = 999").Length);
Assert.Equal(1000, T.Select("count(age) = 1000").Length);
Assert.Equal(1000, T.Select("stdev(age) > 287 and stdev(age) < 289").Length);
Assert.Equal(1000, T.Select("var(age) < 83417 and var(age) > 83416").Length);
}