public void NaiveKruskalPrimitive()
{
Shred.BUFFER = 0;
Shred.SAMPLE_SIZE = 1;
var folder = Path.Combine(Drive.GetDriveRoot(), Dir.NaiveKruskalTestDirectory);
var paths = new List<string>();
paths.Add(Path.Combine(folder, NaiveThree));
paths.Add(Path.Combine(folder, NaiveSix ));
paths.Add(Path.Combine(folder, NaiveTen ));
foreach (var path in paths)
{
var shreds = Shred.Factory("Shred", path, false);
var checker = Helpers.BuildChecker(Path.Combine( path , Helpers.CheckFile) );
var results = Reconstructor.NaiveKruskalAlgorithm(shreds);
var indicies = results.Select((t, pos) => new Tuple<int, Shred>(pos, t)).ToList();
Console.WriteLine(" ---- "+ path +"----");
var result = indicies.Select(pair =>
{
var filename = Path.GetFileName(pair.Item2.Filepath);
Assert.IsNotNull(filename);
Assert.IsNotNull(checker[filename]);
var expected = checker[filename];
var actual = pair.Item1;
Console.WriteLine("Actual " + actual + " vs. "+ expected + " | File: " + filename );
return actual.ToString(CultureInfo.InvariantCulture) == expected;
}).ToList();
Exporter.ExportJson(results.First().Root());
Console.WriteLine();
result.ForEach( Assert.IsTrue);
}
}