Esempio n. 1
0
        public void PaySlip_Placed_Moved_Turned_Report()
        {
            var paySlip = new PaySlipEngine.NSWPaySlipEngine();

            paySlip.Place(1, 2, Direction.EAST);
            paySlip.Move();
            paySlip.Move();
            paySlip.Left();
            paySlip.Move();
            Assert.AreEqual("3,3,NORTH", paySlip.Report());
        }
Esempio n. 2
0
        /// <summary>
        /// Sends incoming command to paySlip.
        /// </summary>
        /// <param name="userInput">command for paySlip</param>
        /// <returns></returns>
        public string ExecuteSingleCommand(string userInput)
        {
            try
            {
                string           output    = userInput;
                CommandArguments arguments = new CommandArguments();
                if (ParseCommand(userInput, arguments))
                {
                    switch (arguments.Instruction)
                    {
                    case Command.PLACE:
                        _paySlip.Place(arguments.X, arguments.Y, arguments.Face);
                        break;

                    case Command.MOVE:
                        _paySlip.Move();
                        break;

                    case Command.LEFT:
                        _paySlip.Left();
                        break;

                    case Command.RIGHT:
                        _paySlip.Right();
                        break;

                    case Command.REPORT:
                        output = _paySlip.Report();
                        Console.WriteLine(output);
                        break;

                    default:
                        break;
                    }
                }
                return(output);
            }
            catch (Exception)
            {
                throw;
            }
        }