Exemplo n.º 1
0
    public void Constructor_AmountNodesIsZero_BuildsTrees()
    {
        var treeCache = new RedBlackTreeBuilder.TreeCache(0);

        Assert.AreEqual(1, treeCache.TreesWithBlackRoot[0].Count());
        Assert.AreEqual(null, treeCache.TreesWithBlackRoot[0].First());
        Assert.AreEqual(0, treeCache.TreesWithRedRoot[0].Count());
    }
Exemplo n.º 2
0
    public void Constructor_AmountNodesIsTwo_BuildsTrees()
    {
        var treeCache = new RedBlackTreeBuilder.TreeCache(2);

        var firstTree = treeCache.TreesWithBlackRoot[2].First();

        Assert.AreEqual(Color.Black, firstTree.Color);
        Assert.AreEqual(Color.Red, firstTree.Right.Color);
        Assert.IsNull(firstTree.Left);
    }
Exemplo n.º 3
0
    public void Constructor_AmountNodesIsThree_BuildsTrees()
    {
        var treeCache = new RedBlackTreeBuilder.TreeCache(3);

        var firstTree = treeCache.TreesWithBlackRoot[3].First();

        Assert.AreEqual(Color.Black, firstTree.Color);
        Assert.AreEqual(Color.Red, firstTree.Left.Color);
        Assert.AreEqual(Color.Red, firstTree.Right.Color);

        var secondThree = treeCache.TreesWithBlackRoot[3].ElementAt(1);

        Assert.AreEqual(Color.Black, secondThree.Color);
        Assert.AreEqual(Color.Black, secondThree.Left.Color);
        Assert.AreEqual(Color.Black, secondThree.Right.Color);
    }
Exemplo n.º 4
0
    public void Constructor_AmountNodesIsOne_BuildsTrees()
    {
        var treeCache = new RedBlackTreeBuilder.TreeCache(1);

        var firstTree = treeCache.TreesWithBlackRoot[1].First();

        Assert.AreEqual(Color.Black, firstTree.Color);
        Assert.IsNull(firstTree.Left);
        Assert.IsNull(firstTree.Right);

        var secondTree = treeCache.TreesWithRedRoot[1].First();

        Assert.AreEqual(Color.Red, secondTree.Color);
        Assert.IsNull(secondTree.Left);
        Assert.IsNull(secondTree.Right);
    }
Exemplo n.º 5
0
    public void Constructor_AmountNodesIsSeven_BuildsTrees()
    {
        var treeCache = new RedBlackTreeBuilder.TreeCache(7);

        Assert.AreEqual(1, treeCache.TreesWithBlackRoot[0].Count());
        Assert.AreEqual(0, treeCache.TreesWithRedRoot[0].Count());
        Assert.AreEqual(1, treeCache.TreesWithRedRoot[1].Count());
        Assert.AreEqual(1, treeCache.TreesWithBlackRoot[1].Count());
        Assert.AreEqual(0, treeCache.TreesWithRedRoot[2].Count());
        Assert.AreEqual(1, treeCache.TreesWithBlackRoot[2].Count());
        Assert.AreEqual(1, treeCache.TreesWithRedRoot[3].Count());
        Assert.AreEqual(2, treeCache.TreesWithBlackRoot[3].Count());
        Assert.AreEqual(1, treeCache.TreesWithRedRoot[4].Count());
        Assert.AreEqual(1, treeCache.TreesWithBlackRoot[4].Count());
        Assert.AreEqual(1, treeCache.TreesWithRedRoot[5].Count());
        Assert.AreEqual(1, treeCache.TreesWithBlackRoot[5].Count());
        Assert.AreEqual(1, treeCache.TreesWithRedRoot[6].Count());
        Assert.AreEqual(1, treeCache.TreesWithBlackRoot[6].Count());
        Assert.AreEqual(2, treeCache.TreesWithRedRoot[7].Count());
        Assert.AreEqual(2, treeCache.TreesWithBlackRoot[7].Count());
    }