Exemplo n.º 1
0
        public void IgonreInvalidValues()
        {
            RobotCommandParser parser = new RobotCommandParser();

            string[] commands =
            {
                "Place 0,4,East",
                "Move",
                "Invalid",
                "Move",
                "Right",
                "Move",
                "Move",
                "Invalid",
                "Left",
                "Left",
                "Move",
                "Move",
                "Report"
            };
            string[] results = parser.Process(commands);
            Assert.AreEqual(results.Length, 1);
            string finalResult = results.First();

            Assert.AreEqual(finalResult, "2,4,North");
        }
        public void HandlesNullInput()
        {
            var subject = new RobotCommandParser();
            var result  = subject.TryParse(null, out var command);

            Assert.False(result);
            Assert.Null(command);
        }
        public void HandlesInvalidOrientation()
        {
            var subject = new RobotCommandParser();
            var result  = subject.TryParse("PLACE 10 10 DOWN", out var command);

            Assert.False(result);
            Assert.Null(command);
        }
        public void CanParseValidCommand(string input)
        {
            var subject = new RobotCommandParser();
            var result  = subject.TryParse(input, out var command);

            Assert.True(result);
            Assert.NotNull(command);
        }
Exemplo n.º 5
0
        static void Main(string[] args)
        {
            var results = new RobotCommandParser().Process(args);

            foreach (string result in results)
            {
                Console.WriteLine(result);
            }
            Console.ReadLine();
        }
Exemplo n.º 6
0
        public void ReportOnlyIfRobotIsPlaced()
        {
            RobotCommandParser parser = new RobotCommandParser();

            string[] commands =
            {
                "Report",
                "Place 0,4,East",
                "Move",
                "Report"
            };
            string[] results = parser.Process(commands);
            Assert.AreEqual(results.Length, 1);
        }
Exemplo n.º 7
0
        public void TransmitAllValidCommandsAndGetFinalPosition()
        {
            RobotCommandParser parser = new RobotCommandParser();

            string[] commands =
            {
                "Place 0,4,East",
                "Move",
                "Move",
                "Right",
                "Move",
                "Move",
                "Left",
                "Left",
                "Move",
                "Move",
                "Report"
            };
            string[] results = parser.Process(commands);
            Assert.AreEqual(results.Length, 1);
            string finalResult = results.First();

            Assert.AreEqual(finalResult, "2,4,North");
        }
Exemplo n.º 8
0
        public void ReportMoreThanOnce()
        {
            RobotCommandParser parser = new RobotCommandParser();

            string[] commands =
            {
                "Place 0,4,East",
                "Move",
                "Report",
                "Move",
                "Right",
                "Move",
                "Move",
                "Left",
                "Left",
                "Move",
                "Move",
                "Report"
            };
            string[] results = parser.Process(commands);
            Assert.AreEqual(results.Length, 2);
            Assert.AreEqual(results[0], "1,4,East");
            Assert.AreEqual(results[1], "2,4,North");
        }
Exemplo n.º 9
0
 public RobotCommandParserTests()
 {
     _parser = new RobotCommandParser();
 }