public void WireManagerIntegrationTestThree_TwoWirePaths_ReturnsFewestSteps() { IList <string> wirePathOne = new List <string> { "R75", "D30", "R83", "U83", "L12", "D49", "R71", "U7", "L72" }; IList <string> wirePathTwo = new List <string> { "U62", "R66", "U55", "R34", "D71", "R55", "D58", "R83" }; IDictionary <int, HashSet <int> > coordinates = cut.MapPoints(wirePathOne); IList <Point> intersectionPoints = cut.LocateIntersectionPoints(coordinates, wirePathTwo); cut.SetFirstWireStepsToIntersectionPoints(intersectionPoints, wirePathOne); int fewestSteps = cut.FewestTotalSteps(intersectionPoints); Assert.AreEqual(610, fewestSteps); }
public void Initialize() { IList <string> wirePaths = FileUtil.ReadAllLines("day_3_wire_paths.txt"); IList <string> wirePathOne = wirePaths[0].Split(","); IList <string> wirePathTwo = wirePaths[1].Split(","); IDictionary <int, HashSet <int> > coordinates = wireManager.MapPoints(wirePathOne); IList <Point> intersectionPoints = wireManager.LocateIntersectionPoints(coordinates, wirePathTwo); wireManager.SetFirstWireStepsToIntersectionPoints(intersectionPoints, wirePathOne); int closestDistance = wireManager.ClosestManhattanDistance(intersectionPoints); int fewestSteps = wireManager.FewestTotalSteps(intersectionPoints); WriteClosestDistanceAndFewestSteps(closestDistance, fewestSteps); }