public void NoHeuristicsFindBestNode_CallsAllHeuristics() { var firstHeuristic = new MockBestFitHeuristic(); var secondHeuristic = new MockBestFitHeuristic(); new HeuristicEvaluator(new List <IBestFitHeuristicInterface> { firstHeuristic, secondHeuristic }).GetBestNode(null, null, null, new List <NavNode>()); Assert.IsTrue(firstHeuristic.GetBestNodeCalled); Assert.IsTrue(secondHeuristic.GetBestNodeCalled); }
public void HeuristicsFindBestNode_StopsCallingWhenFindsBestNode() { var firstHeuristic = new MockBestFitHeuristic(); var secondHeuristic = new MockBestFitHeuristic { GetBestNodeResult = new NavNode() }; var thirdHeuristic = new MockBestFitHeuristic(); new HeuristicEvaluator(new List <IBestFitHeuristicInterface> { firstHeuristic, secondHeuristic, thirdHeuristic }).GetBestNode(null, null, null, new List <NavNode>()); Assert.IsTrue(firstHeuristic.GetBestNodeCalled); Assert.IsTrue(secondHeuristic.GetBestNodeCalled); Assert.IsFalse(thirdHeuristic.GetBestNodeCalled); }
public void HeuristicsFindBestNode_ReturnsExpectedNode() { var firstHeuristic = new MockBestFitHeuristic(); var secondHeuristic = new MockBestFitHeuristic { GetBestNodeResult = new NavNode() }; var thirdHeuristic = new MockBestFitHeuristic(); Assert.AreSame ( secondHeuristic.GetBestNodeResult, new HeuristicEvaluator ( new List <IBestFitHeuristicInterface> { firstHeuristic, secondHeuristic, thirdHeuristic }). GetBestNode(null, null, null, new List <NavNode>() ) ); }