Exemplo n.º 1
0
        static void Main(string[] args)
        {
            try
            {
                Console.WriteLine("Enter commands:");

                var readWidthHeight  = Console.ReadLine();
                var widthHeightSplit = readWidthHeight.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                int width            = Convert.ToInt32(widthHeightSplit[0]);
                int height           = Convert.ToInt32(widthHeightSplit[1]);

                var location = Console.ReadLine();
                var commands = Console.ReadLine();

                RoverHandler rovers = new RoverHandler(width, height)
                {
                    { location, commands }
                };

                foreach (var rover in rovers)
                {
                    Console.WriteLine($"Result: {rover.XCoordinate} {rover.YCoordinate} {rover.Direction} {Environment.NewLine}");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception: " + ex.Message);
            }

            Console.ReadKey();
        }
Exemplo n.º 2
0
        public void RoversTest()
        {
            RoverHandler rovers = new RoverHandler(5, 5)
            {
                { "1 2 N", "LMLMLMLMM" },
                { "3 3 E", "MMRMMRMRRM" }
            };

            Assert.IsTrue(rovers.Count == 2);
            Assert.IsNotNull(rovers[0]);
            Assert.IsNotNull(rovers[1]);
        }
Exemplo n.º 3
0
        public void RoversTestCoordinates()
        {
            RoverHandler rovers = new RoverHandler(5, 5)
            {
                { "1 2 N", "LMLMLMLMM" },
                { "3 3 E", "MMRMMRMRRM" }
            };

            IRover roverOne = rovers[0];
            IRover roverTwo = rovers[1];

            Assert.IsTrue(roverOne.XCoordinate == 1);
            Assert.IsTrue(roverOne.YCoordinate == 3);
            Assert.IsTrue(roverOne.Direction == Direction.N);

            Assert.IsTrue(roverTwo.XCoordinate == 5);
            Assert.IsTrue(roverTwo.YCoordinate == 1);
            Assert.IsTrue(roverTwo.Direction == Direction.E);
        }