public void GivenAKey_WhenGraphHaveThisKey_ShouldRemoveIt() { // Arrange var graph = new MyGraph <string>(); graph.AddNode("one"); // Act graph.RemoveNode("one"); // Assert graph.GetAll().Should().BeEmpty(); }
public void GivenAKey_WhenGraphAlreadyHaveAnNodeWithSameKey_ShouldNotAddIt() { // Arrange var graph = new MyGraph <string>(); graph.AddNode("one"); // Act graph.AddNode("one"); // Assert graph.GetAll().Should().HaveCount(1); }
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(); }
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"); }
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(); } }
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(); }