public void FromDataTest()
{
Accord.Math.Random.Generator.Seed = 0;
double[][] points = Vector.Interval(1.0, 7.0).ToJagged();
var tree = SPTree.FromData(points);
Assert.IsTrue(tree.Root.IsCorrect());
var nodes = tree.ToList();
foreach (var p in points)
Assert.IsTrue(nodes.Where(x=> x.IsLeaf)
.Select(x => x.Position)
.Contains(p, new ArrayComparer<double>()));
points = Vector.Shuffled(Vector.Range(1.0, 8.0)).ToJagged();
tree = SPTree.FromData(points);
Assert.IsTrue(tree.Root.IsCorrect());
nodes = tree.ToList();
foreach (var p in points)
Assert.IsTrue(nodes.Select(x => x.Position).Contains(p));
}