public void Find_ThrowsIfFinishNodeMarkIsinfinity_Test() { // Arrange var finish = Mock.Of<DijkstraNode>(d => d.TotalWeigth == null && d.Previous == Mock.Of<DijkstraNode>()); var graph = Mock.Of<DijkstraGraph>(t => t.FinishNode() == finish); var dijkstra = new ShortestWay.Dijkstra.Dijkstra(); // Assert Assert.Throws<NoRouteFromStartToFinishException>(() => dijkstra.GetShortestWay(graph)); }
public void Find_ReturnsWayNodeListByPrevious_Test() { // Arrange var prevPrev = Mock.Of<DijkstraNode>(); var prev = Mock.Of<DijkstraNode>(t => t.Previous == prevPrev); var finishNode = Mock.Of<DijkstraNode>(t => t.Previous == prev && t.TotalWeigth == 100500); var graph = Mock.Of<DijkstraGraph>(t => t.FinishNode() == finishNode); var dijkstra = new ShortestWay.Dijkstra.Dijkstra(); // Act var way = dijkstra.GetShortestWay(graph); // Assert Assert.AreEqual(way[0], prevPrev); Assert.AreEqual(way[1], prev); Assert.AreEqual(way[2], finishNode); }