BuildCluster() public static method

public static BuildCluster ( List shreds ) : INode
shreds List
return INode
示例#1
0
        public void NodeEdgeTest()
        {
            var shreds = Helpers.InitializeShreds();
            var root   = Helpers.BuildCluster(shreds);

            Assert.IsTrue(ValidateEdges(root));
        }
示例#2
0
        public void ValidateTree()
        {
            var shreds = Helpers.InitializeShreds();
            var root   = Helpers.BuildCluster(shreds);

            Assert.IsTrue(IsValid(root));
        }
示例#3
0
        public void NodeSizeTest()
        {
            var shreds   = Helpers.InitializeShreds();
            var root     = Helpers.BuildCluster(shreds);
            int expected = root.Size();
            int actual   = CalculateSize(root);

            Assert.IsTrue(actual == expected);
        }
示例#4
0
        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));
        }
示例#5
0
        public void MirrorTest()
        {
            var shredsRegular = Helpers.InitializeShreds();
            var rootRegular   = Helpers.BuildCluster(shredsRegular);

            var shredsReversed = Helpers.InitializeShreds();
            var rootReversed   = Helpers.BuildCluster(shredsReversed);

            // Mirror this tree
            rootReversed.Mirror();
            Assert.IsTrue(IsMirror(rootRegular, rootReversed));

            rootReversed.Mirror();
            Assert.IsTrue(IsEqual(rootRegular, rootReversed));
        }