public void FlattenTest()
{
var shreds = Helpers.InitializeShreds();
var flattened = new List<Shred>(shreds.Count());
Helpers.BuildCluster(shreds).Flatten(flattened);
var ids = shreds.Select(shred => shred.Id).ToList();
var actual = flattened.Select(shred => shred.Id).ToList();
var expected = new List<long> {ids[6], ids[0], ids[1], ids[3], ids[4], ids[2], ids[5]};
Assert.IsTrue(actual.Zip(expected, (first, second) => first == second).All(eq => eq));
}