public void ClosestManhattanDistance_ListOfIntersectionPoints_ReturnsClosestPoint() { IList <Point> intersectionPoints = new List <Point>() { new Point(10, 10, 0), new Point(20, 40, 0), new Point(15, 30, 0), new Point(2, 10, 0), }; int closesDistance = cut.ClosestManhattanDistance(intersectionPoints); Assert.AreEqual(12, closesDistance); }
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); }