Exemplo n.º 1
0
 public void ShouldThrowException_OnInvalidTraversalStrategy()
 {
     Assert.Throws <ArgumentNullException>(() =>
     {
         _sut.TraversalStrategy = null;
     });
     Assert.Throws <ArgumentNullException>(() =>
     {
         _sut.SetTraversalStrategy(null);
     });
 }
Exemplo n.º 2
0
        public void PostOrderTraversal()
        {
            // Arrange
            var sut = new BinaryTree <int>();

            sut.AddRange(_testData);
            var expected = new [] { 3, 7, 5, 10, 15, 12, 8 };

            // Act
            sut.SetTraversalStrategy(new PostOrderTraversal <int>());

            // Assert
            Assert.True(expected.SequenceEqual(sut));
        }
Exemplo n.º 3
0
        public void TestPostOrderTraversal()
        {
            // arrange
            var expected   = new int[] { 3, 7, 5, 10, 15, 12, 8 };
            var binaryTree = new BinaryTree <int> {
                8, 5, 12, 3, 7, 10, 15
            };
            var postOrder = new PostOrderTraversal <int>();

            // act
            binaryTree.SetTraversalStrategy(postOrder);
            // assert
            Assert.IsTrue(expected.SequenceEqual(binaryTree));
        }
Exemplo n.º 4
0
        public void TestPreOrderTraversal()
        {
            // Arrange
            var expected   = new [] { 8, 5, 3, 7, 12, 10, 15 };
            var binaryTree = new BinaryTree <int> {
                8, 5, 12, 3, 7, 10, 15
            };
            var preOrder = new PreOrderTraversal <int>();

            // Act
            binaryTree.SetTraversalStrategy(preOrder);

            // Assert
            Assert.IsTrue(expected.SequenceEqual(binaryTree));
        }
Exemplo n.º 5
0
        public void TestInOrderTraversal()
        {
            // Arrange
            var expected   = new [] { 3, 5, 7, 8, 10, 12, 15 };
            var binaryTree = new BinaryTree <int> {
                8, 5, 12, 3, 7, 10, 15
            };
            var inOrderTraversalStrategy = new InOrderTraversal <int>();

            // Act
            binaryTree.SetTraversalStrategy(inOrderTraversalStrategy);

            // Assert
            Assert.IsTrue(expected.SequenceEqual(binaryTree));
        }
Exemplo n.º 6
0
        public void TestInOrderTraversal()
        {
            // arrange
            var orderedTree = new BinaryTree <int> {
                3, 5, 7, 8, 10, 12, 15
            };
            var binaryTree = new BinaryTree <int> {
                8, 5, 12, 3, 7, 10, 15
            };
            var inOrder = new InOrderTraversal <int>();

            // act
            binaryTree.SetTraversalStrategy(inOrder);
            // assert
            Assert.IsTrue(orderedTree.SequenceEqual(binaryTree));
        }