Example #1
0
        public void GivenAKey_WhenGraphHaveThisKey_ShouldRemoveIt()
        {
            // Arrange
            var graph = new MyGraph <string>();

            graph.AddNode("one");

            // Act
            graph.RemoveNode("one");

            // Assert
            graph.GetAll().Should().BeEmpty();
        }
Example #2
0
        public void GivenAKey_WhenGraphAlreadyHaveAnNodeWithSameKey_ShouldNotAddIt()
        {
            // Arrange
            var graph = new MyGraph <string>();

            graph.AddNode("one");

            // Act
            graph.AddNode("one");

            // Assert
            graph.GetAll().Should().HaveCount(1);
        }
Example #3
0
        public void GivenANewKey_WhenGraphIsEmpty_ThenAddIt()
        {
            //Given
            var graph = new MyGraph <string>();

            //When
            graph.AddNode("one");

            //Then
            var values = graph.GetAll();

            values.Should().HaveCount(1);
            values.ContainsKey("one").Should().BeTrue();
        }
Example #4
0
        public void GivenTwoKeys_WhenGraphHaveThisNodesAndTheyDoNotHaveRelationship_ShouldConnectThisTwoNodes()
        {
            // Arrange
            var graph = new MyGraph <string>();

            graph.AddNode("one");
            graph.AddNode("two");

            // Act
            graph.AddEdge("one", "two");

            // Assert
            var values = graph.GetAll();

            values.GetValue("one").Should().ContainSingle("two");
        }
Example #5
0
        public void GivenAKey_WhenGraphDoesntHaveIt_ShouldDoNothing()
        {
            // Arrange
            var graph = new MyGraph <string>();

            graph.AddNode("one");

            // Act
            graph.RemoveNode("two");

            // Assert
            var values = graph.GetAll();

            values.Should().HaveCount(1);
            values.ContainsKey("one").Should().BeTrue();
        }
        public void GivenTwoKeys_WhenGraphHaveTheseNodesAndTheyHaveRelationship_ShouldRemoveTheRelationship()
        {
            // Arrange
            var graph = new MyGraph <string>();

            graph.AddNode("node1");
            graph.AddNode("node2");
            graph.AddEdge("node1", "node2");

            // Act
            graph.RemoveEdge("node1", "node2");

            // Assert
            foreach (var item in graph.GetAll())
            {
                item.Value.Should().BeEmpty();
            }
        }
Example #7
0
        public void GivenMoreThanOneKey_WhenGraphIsEmpty_ShouldAddThem()
        {
            // Arrange
            var graph = new MyGraph <string>();

            // Act
            graph.AddNode("one");
            graph.AddNode("two");
            graph.AddNode("three");

            // Assert
            var values = graph.GetAll();

            values.Should().HaveCount(3);
            values.ContainsKey("one").Should().BeTrue();
            values.ContainsKey("two").Should().BeTrue();
            values.ContainsKey("three").Should().BeTrue();
        }