Exemple #1
0
        public void Equals_NTreeDifferentStructure_Returns_False()
        {
            // Arrange
            var values    = new[] { 0, 1, 2, 3, 4 };
            var otherTree = new NTree <int>(values[0], new List <NTree <int> >
            {
                new NTree <int>(values[1]),
                new NTree <int>(values[2]),
                new NTree <int>(values[3]),
                new NTree <int>(values[4]),
            });

            var sut = new NTree <int>(values[0], new List <NTree <int> >
            {
                new NTree <int>(values[1], new List <NTree <int> >
                {
                    new NTree <int>(values[2]),
                }),
                new NTree <int>(values[3], new List <NTree <int> >
                {
                    new NTree <int>(values[4]),
                }),
            });

            // Act
            var result = sut.Equals(otherTree);

            // Assert
            Assert.False(result);
        }
Exemple #2
0
        public void Equals_ObjectNull_Returns_False()
        {
            // Arrange
            object otherTree = null;
            var    sut       = new NTree <int>();

            // Act
            var result = sut.Equals(otherTree);

            // Assert
            Assert.False(result);
        }
Exemple #3
0
        public void Equals_NTree1LevelSameValue_Returns_True()
        {
            // Arrange
            var value     = 5;
            var otherTree = new NTree <int>(value);

            var sut = new NTree <int>(value);

            // Act
            var result = sut.Equals(otherTree);

            // Assert
            Assert.True(result);
        }
Exemple #4
0
        public void Dfs_GraphWith1Node_ReturnsNTreeWith1Node()
        {
            // Arrange
            var expectedResult = new NTree <int>(0);

            var countOfNodes = 1;
            var sut          = GetGraph(countOfNodes);

            // Act
            var result = sut.Dfs(0);

            // Assert
            Assert.True(expectedResult.Equals(result));
        }
Exemple #5
0
        public void Equals_NTree1LevelDifferentValue_Returns_False()
        {
            // Arrange
            var value1    = 5;
            var value2    = 50;
            var otherTree = new NTree <int>(value1);

            var sut = new NTree <int>(value2);

            // Act
            var result = sut.Equals(otherTree);

            // Assert
            Assert.False(result);
        }
Exemple #6
0
        public void Dfs_Graph_ReturnsExpectedExpansionTree()
        {
            // Arrange
            var expectedResult = new NTree <int>(0, new List <NTree <int> >
            {
                new NTree <int>(1, new List <NTree <int> >
                {
                    new NTree <int>(3, new List <NTree <int> >
                    {
                        new NTree <int>(2, new List <NTree <int> >
                        {
                            new NTree <int>(4, new List <NTree <int> >
                            {
                                new NTree <int>(7, new List <NTree <int> >
                                {
                                    new NTree <int>(5),
                                    new NTree <int>(6),
                                }),
                                new NTree <int>(8),
                                new NTree <int>(9),
                            }),
                        }),
                    }),
                }),
            });

            var countOfNodes = 10;
            var sut          = GetGraph(countOfNodes);

            sut.AddEdge(GetEdge(0, 1));
            sut.AddEdge(GetEdge(1, 3));
            sut.AddEdge(GetEdge(3, 2));
            sut.AddEdge(GetEdge(2, 4));
            sut.AddEdge(GetEdge(4, 7));
            sut.AddEdge(GetEdge(7, 5));
            sut.AddEdge(GetEdge(7, 6));
            sut.AddEdge(GetEdge(4, 8));
            sut.AddEdge(GetEdge(4, 9));

            // Act
            var result = sut.Dfs(0);

            // Assert
            Assert.True(expectedResult.Equals(result));
        }
Exemple #7
0
        public void Dfs_GraphWith2Nodes_ReturnsNTreeWith2Levels1NodePerLevel()
        {
            // Arrange
            var expectedResult = new NTree <int>(0, new List <NTree <int> >
            {
                new NTree <int>(1),
            });

            var countOfNodes = 2;
            var sut          = GetGraph(countOfNodes);

            sut.AddEdge(GetEdge(0, 1));

            // Act
            var result = sut.Dfs(0);

            // Assert
            Assert.True(expectedResult.Equals(result));
        }
Exemple #8
0
        public void Equals_NTree2LevelsDifferentsValues_Returns_False()
        {
            // Arrange
            var values    = new[] { 0, 1, 2 };
            var otherTree = new NTree <int>(values[0], new List <NTree <int> >
            {
                new NTree <int>(values[1]),
                new NTree <int>(values[2]),
            });

            var sut = new NTree <int>(values[0], new List <NTree <int> >
            {
                new NTree <int>(values[1]),
                new NTree <int>(values[2] + 1),
            });

            // Act
            var result = sut.Equals(otherTree);

            // Assert
            Assert.False(result);
        }