예제 #1
0
        public void Calculate_distance_between_different_coords()
        {
            IDistanceCalculator calculator = new ManhattanDistanceCalculator();
            var distance = calculator.GetDistance(Coords.From(0, 0), Coords.From(-21, 41));

            Assert.AreEqual(62, distance);
        }
예제 #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Veuillez saisir le nombre dont la distance est à déterminer :");
            var isNumber = int.TryParse(Console.ReadLine(), out int input);

            while (!isNumber)
            {
                Console.WriteLine("Veuillez saisir le nombre dont la distance est à déterminer :");
                isNumber = int.TryParse(Console.ReadLine(), out input);
            }
            var Calculator = new ManhattanDistanceCalculator();

            Console.WriteLine(Calculator.Calculate(input));
            Console.ReadLine();
        }
예제 #3
0
        public void Puzzle3Example2()
        {
            var plotter = new Plotter();
            var mapper  = new Mapper(plotter);

            mapper.MapRoute(1, "R98,U47,R26,D63,R33,U87,L62,D20,R33,U53,R51");
            mapper.MapRoute(2, "U98,R91,D20,R16,D67,R40,U7,R15,U6,R7");
            var distanceCalcuator = new ManhattanDistanceCalculator();
            var result            =
                mapper.GetIntersections()
                .Select(x => distanceCalcuator.GetDistance(Coords.From(0, 0), x))
                .OrderBy(x => x)
                .First();

            Assert.AreEqual(135, result);
        }
예제 #4
0
        public void Puzzle3Example1()
        {
            var plotter = new Plotter();
            var mapper  = new Mapper(plotter);

            mapper.MapRoute(1, "R75,D30,R83,U83,L12,D49,R71,U7,L72");
            mapper.MapRoute(2, "U62,R66,U55,R34,D71,R55,D58,R83");
            var distanceCalcuator = new ManhattanDistanceCalculator();
            var result            =
                mapper.GetIntersections()
                .Select(x => distanceCalcuator.GetDistance(Coords.From(0, 0), x))
                .OrderBy(x => x)
                .First();

            Assert.AreEqual(159, result);
        }
예제 #5
0
        public void Puzzle3Result()
        {
            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 distanceCalcuator = new ManhattanDistanceCalculator();
            var result            =
                mapper.GetIntersections()
                .Select(x => distanceCalcuator.GetDistance(Coords.From(0, 0), x))
                .OrderBy(x => x)
                .First();

            Assert.AreEqual(260, result);
        }
        public void Rename(int input, int expected)
        {
            ManhattanDistanceCalculator manhattanDistanceCalculator = new ManhattanDistanceCalculator();

            Check.That(manhattanDistanceCalculator.Calculate(input)).IsEqualTo(expected);
        }
        public void Give_The_Index_Of_A_Given_Number(int input, int expected)
        {
            ManhattanDistanceCalculator manhattanDistanceCalculator = new ManhattanDistanceCalculator();

            Check.That(manhattanDistanceCalculator.GetIndexOfValue(input)).IsEqualTo(expected);
        }