public int Find_optimal_routes_to_intersection(string route1, string route2)
        {
            var plotter = new Plotter();
            var mapper  = new Mapper(plotter);

            mapper.MapRoute(1, route1);
            mapper.MapRoute(2, route2);
            var optimiser = new Optimiser();
            var leastPointsToAnIntersection = optimiser.LeastDistanceToIntersection(mapper);

            return(leastPointsToAnIntersection);
        }
        public void Puzzle3_part2()
        {
            var plotter = new Plotter();
            var mapper  = new Mapper(plotter);

            var routes  = File.ReadLines("C:\\Code\\github\\AdventOfCode2019\\Puzzle3\\input.txt");
            int routeId = 1;

            foreach (var route in routes)
            {
                mapper.MapRoute(routeId++, route);
            }

            var optimiser = new Optimiser();
            var leastPointsToAnIntersection = optimiser.LeastDistanceToIntersection(mapper);

            Console.WriteLine($"Least points to an intersection = {leastPointsToAnIntersection}");
            Assert.AreEqual(15612, leastPointsToAnIntersection);
        }