Esempio n. 1
0
        public void ShouldReplaceNodeInAll()
        {
            // arrange
            var graph = new Graph();
            var firstNode = new SampleNode("firstNode");
            var secondNode = new SampleNode("secondNode");

            graph.AddNode(firstNode);
            graph.AddNode(secondNode);

            var inboundLink = new SampleLink();
            graph.AddLink(secondNode, firstNode, inboundLink);

            var outboundLink = new SampleLink();
            graph.AddLink(firstNode, secondNode, outboundLink);

            var newNode = new SampleNode("replacedFirstNode");

            // act
            graph.ReplaceNode(firstNode, newNode);

            // Assert
            Assert.That(graph.Nodes, Has.No.Member(firstNode));
            Assert.That(graph.Nodes, Has.Member(newNode));

            Assert.That(inboundLink.Target, Is.SameAs(newNode));
            Assert.That(newNode.InboundLinks, Has.Member(inboundLink));

            Assert.That(outboundLink.Source, Is.SameAs(newNode));
            Assert.That(newNode.OutboundLinks, Has.Member(outboundLink));
        }