public void TestWith8Nodes() { // https://www.geeksforgeeks.org/dijkstras-shortest-path-algorithm-greedy-algo-7/ var node0 = new Node("0"); var node1 = new Node("1"); var node2 = new Node("2"); var node3 = new Node("3"); var node4 = new Node("4"); var node5 = new Node("5"); var node6 = new Node("6"); var node7 = new Node("7"); var node8 = new Node("8"); AddTwoWayConnection(node0, node1, 4); AddTwoWayConnection(node0, node7, 8); AddTwoWayConnection(node1, node7, 11); AddTwoWayConnection(node1, node2, 8); AddTwoWayConnection(node2, node5, 4); AddTwoWayConnection(node2, node8, 2); AddTwoWayConnection(node2, node3, 7); AddTwoWayConnection(node3, node5, 14); AddTwoWayConnection(node3, node4, 9); AddTwoWayConnection(node4, node5, 10); AddTwoWayConnection(node5, node6, 2); AddTwoWayConnection(node6, node8, 6); AddTwoWayConnection(node6, node7, 1); AddTwoWayConnection(node7, node8, 7); var nodes = new List <Node> { node0, node1, node2, node3, node4, node5, node6, node7, node8 }; var algorithm = new ShortestPathAlgorithm(nodes); var result = algorithm.Run(node0); result.Should().NotBeNull(); Print(result); }
public void TestFromAtoBtoCtoD() { var nodeA = new Node("A"); var nodeB = new Node("B"); var nodeC = new Node("C"); var nodeD = new Node("D"); nodeA.AddConnection(nodeB, 10); nodeB.AddConnection(nodeC, 10); nodeC.AddConnection(nodeD, 10); var nodes = new List <Node> { nodeA, nodeB, nodeC, nodeD }; var algorithm = new ShortestPathAlgorithm(nodes); var result = algorithm.Run(nodeA); result.Should().NotBeNull(); Print(result); }