public void ConsistencyTest1()
{
double[,] random = Matrix.Random(1000, 10, 0.0, 1.0);
double[][] samples = random.ToJagged();
int[] outputs = new int[1000];
for (int i = 0; i < samples.Length; i++)
{
if (samples[i][0] > 0.8)
outputs[i] = 1;
}
DecisionVariable[] vars = new DecisionVariable[10];
for (int i = 0; i < vars.Length; i++)
vars[i] = new DecisionVariable(i.ToString(), DecisionVariableKind.Continuous);
DecisionTree tree = new DecisionTree(vars, 2);
C45Learning teacher = new C45Learning(tree);
double error = teacher.Run(samples, outputs);
Assert.AreEqual(0, error);
Assert.AreEqual(2, tree.Root.Branches.Count);
Assert.IsTrue(tree.Root.Branches[0].IsLeaf);
Assert.IsTrue(tree.Root.Branches[1].IsLeaf);
}