Пример #1
0
        public void HowFar_IsCorrect_After2Turns(string first, string second)
        {
            var gps = new Gps();

            gps.Move(new Turn(first));
            gps.Move(new Turn(second));

            Assert.Equal(4, gps.HowFar());
        }
Пример #2
0
        public void HowFar_IsCorrect_After3Turns_WithALoopback()
        {
            var gps = new Gps();

            gps.Move(new Turn("R2"));
            gps.Move(new Turn("R2"));
            gps.Move(new Turn("R2"));

            Assert.Equal(2, gps.HowFar());
        }
Пример #3
0
        public void HowFarIsFirstDuplicate_IsCorrect()
        {
            var gps = new Gps();

            gps.Move(new Turn("R8"));
            gps.Move(new Turn("R4"));
            gps.Move(new Turn("R4"));
            gps.Move(new Turn("R8"));

            Assert.Equal(4, gps.HowFarIsFirstDuplicate());
        }
Пример #4
0
        public void HowFar_IsCorrect_AfterCombinationTurns()
        {
            var gps = new Gps();

            gps.Move(new Turn("R5"));
            gps.Move(new Turn("L5"));
            gps.Move(new Turn("R5"));
            gps.Move(new Turn("R3"));

            Assert.Equal(12, gps.HowFar());
        }
Пример #5
0
        public void HowFar_IsEqualToBlocks_AfterOneMove(string direction, int blocks)
        {
            var turn = new Turn(direction, blocks);

            var gps = new Gps();

            gps.Move(turn);

            Assert.Equal(blocks, gps.HowFar());
        }
Пример #6
0
        public void CoordinatesMovedThrough_ContainsCorrectListOfCoordinatesInOrder(Coordinate[] expected,
                                                                                    Turn[] turns)
        {
            var gps = new Gps();

            foreach (var turn in turns)
            {
                gps.Move(turn);
            }

            Assert.Equal(expected, gps.CoordinatesMovedThrough());
        }
Пример #7
0
        public static void Problem1()
        {
            var turns = TurnReader.FromFile("P1.txt").ToArray();

            var gps = new Gps();

            foreach (var turn in turns)
            {
                gps.Move(turn);
            }

            Console.WriteLine("How far away is first duplicate?  {0}", gps.HowFarIsFirstDuplicate());
        }