public void ApplyTest()
{
DataTable input = new DataTable("Sample data");
input.Columns.Add("x", typeof(double));
input.Columns.Add("y", typeof(double));
input.Rows.Add(0.0, 0);
input.Rows.Add(0.2, -20);
input.Rows.Add(0.8, -80);
input.Rows.Add(1.0, -100);
DataTable expected = new DataTable("Sample data");
expected.Columns.Add("x", typeof(double));
expected.Columns.Add("y", typeof(double));
expected.Rows.Add(-1.0502, 1.0502);
expected.Rows.Add(-0.6301, 0.6301);
expected.Rows.Add(0.6301, -0.6301);
expected.Rows.Add(1.0502, -1.0502);
Normalization target = new Normalization("x", "y");
target.Detect(input);
DataTable actual = target.Apply(input);
for (int i = 0; i < actual.Rows.Count; i++)
{
double ex = (double)expected.Rows[i][0];
double ey = (double)expected.Rows[i][1];
double ax = (double)actual.Rows[i][0];
double ay = (double)actual.Rows[i][1];
Assert.AreEqual(ex, ax, 0.001);
Assert.AreEqual(ey, ay, 0.001);
}
}