Пример #1
0
        public void SwapInOrderTest3()
        {
            // Arrange
            var rightOfLeft = new SwapNodesAlgo.Node(4, 3, null, null);
            var left        = new SwapNodesAlgo.Node(2, 2, null, rightOfLeft);

            var rightOfRight = new SwapNodesAlgo.Node(5, 3, null, null);
            var right        = new SwapNodesAlgo.Node(3, 2, null, rightOfRight);

            var parent = new SwapNodesAlgo.Node(1, 1, left, right);

            var swapNodes = new SwapNodesAlgo();

            // Act
            swapNodes.SwapInOrder(parent, 1, 2);

            // Assert
            Assert.Equal(1, parent.Index);

            Assert.Equal(2, parent.Left.Index);
            Assert.Equal(4, parent.Left.Left.Index);
            Assert.Null(parent.Left.Right);

            Assert.Equal(3, parent.Right.Index);
            Assert.Null(parent.Right.Right);
            Assert.Equal(5, parent.Right.Left.Index);
        }
Пример #2
0
        public void PrintInOrderTest()
        {
            // Arrange
            var left      = new SwapNodesAlgo.Node(2, 2, null, null);
            var right     = new SwapNodesAlgo.Node(3, 3, null, null);
            var parent    = new SwapNodesAlgo.Node(1, 1, left, right);
            var swapNodes = new SwapNodesAlgo();
            var indexes   = new List <int>();

            // Act
            swapNodes.PrintInOrder(parent, indexes);

            // Assert
            Assert.Equal(2, indexes[0]);
            Assert.Equal(1, indexes[1]);
            Assert.Equal(3, indexes[2]);
        }
Пример #3
0
        public void PrintInOrderTest2()
        {
            // Arrange
            var rightOfLeft = new SwapNodesAlgo.Node(index: 4, depth: 3, left: null, right: null);
            var left        = new SwapNodesAlgo.Node(index: 2, depth: 2, left: null, right: rightOfLeft);

            var rightOfRight = new SwapNodesAlgo.Node(index: 5, depth: 3, left: null, right: null);
            var right        = new SwapNodesAlgo.Node(index: 3, depth: 2, left: null, right: rightOfRight);

            var parent    = new SwapNodesAlgo.Node(index: 1, depth: 1, left, right);
            var swapNodes = new SwapNodesAlgo();
            var indexes   = new List <int>();

            // Act
            swapNodes.PrintInOrder(parent, indexes);

            // Assert
            Assert.Equal(2, indexes[0]);
            Assert.Equal(4, indexes[1]);
            Assert.Equal(1, indexes[2]);
            Assert.Equal(3, indexes[3]);
            Assert.Equal(5, indexes[4]);
        }