public void TomWellingToGeorgeLucasDegree2Deep() { var sourcePerson = new SearchPerson(firstName: "Tom", lastName: "Welling", birthYear: 1977); var targetPerson = new SearchPerson(firstName: "George", lastName: "Lucas", birthYear: 1944); var sourceNode = _graph.GetDistanceNode(PersonNode.BuildNodeName(sourcePerson)); var targetNode = _graph.GetDistanceNode(PersonNode.BuildNodeName(targetPerson)); var calculator = new DeepFirstAlgorithm(_graph); var shortestGraph = calculator.GetShortestGraph(sourceNode.Name, targetNode.Name); var shortestGraphTargetNode = shortestGraph.GetDistanceNode(PersonNode.BuildNodeName(targetPerson)); var movieDistance = ForwardUnitTestSample.GetRealMovieDistance(shortestGraphTargetNode); Assert.AreEqual(2, movieDistance); var stepsList = GraphHelper.GetPaths(shortestGraphTargetNode).ToList(); Assert.AreEqual(1, stepsList.Count); ForwardUnitTestSample.CheckSteps(sourceNode, targetNode, stepsList, movieDistance * 2); }
public void Test3Deep() { var sourcePerson = new SearchPerson(firstName: "Hans", lastName: "Alfredson"); var targetPerson = new SearchPerson(firstName: "John", lastName: "Wayne"); var sourceNode = _graph.GetDistanceNode(PersonNode.BuildNodeName(sourcePerson)); var targetNode = _graph.GetDistanceNode(PersonNode.BuildNodeName(targetPerson)); var calculator = new DeepFirstAlgorithm(_graph); var shortestGraph = calculator.GetShortestGraph(sourceNode.Name, targetNode.Name); var shortestGraphTargetNode = shortestGraph.GetDistanceNode(PersonNode.BuildNodeName(targetPerson)); var movieDistance = ForwardUnitTestSample.GetRealMovieDistance(shortestGraphTargetNode); Assert.AreEqual(2, movieDistance); var stepsList = GraphHelper.GetPaths(shortestGraphTargetNode).ToList(); Assert.AreEqual(1, stepsList.Count); ForwardUnitTestSample.CheckSteps(sourceNode, targetNode, stepsList, movieDistance * 2); }
public void TomHollandToToshiroMifuneDegree4() { var sourcePerson = new SearchPerson(firstName: "Tom", lastName: "Holland", birthYear: 1996); var targetPerson = new SearchPerson(firstName: "Toshirô", lastName: "Mifune", birthYear: 1920); var sourceNode = _graph.GetDistanceNode(PersonNode.BuildNodeName(sourcePerson)); var targetNode = _graph.GetDistanceNode(PersonNode.BuildNodeName(targetPerson)); var calculator = new DeepFirstAlgorithm(_graph); var shortestGraph = calculator.GetShortestGraph(sourceNode.Name, targetNode.Name); var shortestGraphTargetNode = shortestGraph.GetDistanceNode(PersonNode.BuildNodeName(targetPerson)); var movieDistance = ForwardUnitTestSample.GetRealMovieDistance(shortestGraphTargetNode); Assert.AreEqual(4, movieDistance); var stepsList = GraphHelper.GetPaths(shortestGraphTargetNode).ToList(); Assert.AreEqual(18, stepsList.Count); CheckSteps(sourceNode, targetNode, stepsList, movieDistance * 2); }