public void ParseMowerCommand_WhenPassingNotAValidCommand_MustThrowException()
        {
            char       ch         = 'C';
            MowerInput mowerInput = new MowerInput();

            MowerInput.ParseMowerCommand(ch);
        }
        public void ParseCompassDirection_WhenPassingNotValidCompassDirection_MustThrowException()
        {
            char       ch         = 'T';
            MowerInput mowerInput = new MowerInput();

            MowerInput.ParseCompassDirection(ch);
        }
Example #3
0
        public void ProcessCommands_WhenMowerHasMovedToSouth()
        {
            LawnDimension lawnDimension = new LawnDimension();

            lawnDimension.GridX = 10;
            lawnDimension.GridY = 10;
            List <MowerCommand> commands   = new List <MowerCommand>();
            MowerInput          mowerInput = new MowerInput();

            mowerInput.X         = 5;
            mowerInput.Y         = 5;
            mowerInput.Direction = CompassDirection.West;
            commands.Add(MowerCommand.Move);
            commands.Add(MowerCommand.Left);
            commands.Add(MowerCommand.Move);
            mowerInput.Commands = commands;

            var engine      = new Engine(lawnDimension);
            var X           = 4;
            var Y           = 4;
            var mowerOutput = engine.ProcessCommands(mowerInput);

            Assert.AreEqual(CompassDirection.South, mowerOutput.Direction);
            Assert.AreEqual(X, mowerOutput.X);
            Assert.AreEqual(Y, mowerOutput.Y);
        }
        public void ParseMowerInput_WWhenPassingNullValueForCommands_MustThrowException()
        {
            string     gridsize   = "10 10 N";
            string     cmd        = " ";
            MowerInput mowerInput = new MowerInput();

            MowerInput.ParseMowerInput(gridsize, cmd);
        }
        public void ParseMowerInput_WhenPassingNullValueForGridDimentionCoordinates_MustThrowException()
        {
            string     gridsize   = " ";
            string     cmd        = "MLR";
            MowerInput mowerInput = new MowerInput();

            MowerInput.ParseMowerInput(gridsize, cmd);
        }
        public void ParseMowerInput_WhenGridDimentionCoordinatesNotAInteger_MustThrowException()
        {
            string     gridsize   = "C T";
            string     cmd        = "";
            MowerInput mowerInput = new MowerInput();

            MowerInput.ParseMowerInput(gridsize, cmd);
        }
        public void ParseMowerCommand_WhenPassingValidCommand()
        {
            char         ch         = 'M';
            MowerInput   mowerInput = new MowerInput();
            MowerCommand command    = MowerInput.ParseMowerCommand(ch);

            Assert.AreEqual(MowerCommand.Move, command);
        }
        public void ParseCompassDirection_WhenPassingValidCompassDirection()
        {
            char             ch         = 'N';
            MowerInput       mowerInput = new MowerInput();
            CompassDirection direction  = MowerInput.ParseCompassDirection(ch);

            Assert.AreEqual(CompassDirection.North, direction);
        }
Example #9
0
        public void ValidatePosition_WhenMowerIsAtOutOfOuterBounds_MustThrowAnException()
        {
            LawnDimension lawnDimension = new LawnDimension();

            lawnDimension.GridX = 10;
            lawnDimension.GridY = 10;

            MowerInput mowerInput = new MowerInput();

            mowerInput.X = 11;
            mowerInput.Y = 11;
            var engine = new Engine(lawnDimension);

            engine.ValidatePosition(mowerInput);
        }
Example #10
0
        public void ProcessCommands_WhenMowerIsOutOfBounds_MustThrowAnException()
        {
            LawnDimension lawnDimension = new LawnDimension();

            lawnDimension.GridX = 10;
            lawnDimension.GridY = 10;

            MowerInput mowerInput = new MowerInput();

            mowerInput.X = 100;
            mowerInput.Y = 0;

            var engine = new Engine(lawnDimension);

            engine.ProcessCommands(mowerInput);
        }
Example #11
0
        public void ProcessCommands_WhenMowerHasCommandsAsNullValue_MustThrowException()
        {
            LawnDimension lawnDimension = new LawnDimension();

            lawnDimension.GridX = 10;
            lawnDimension.GridY = 10;
            List <MowerCommand> commands   = new List <MowerCommand>();
            MowerInput          mowerInput = new MowerInput();

            mowerInput.X         = 10;
            mowerInput.Y         = 5;
            mowerInput.Direction = CompassDirection.West;

            var engine = new Engine(lawnDimension);

            engine.ProcessCommands(mowerInput);
        }
Example #12
0
        public void ProcessCommands_WhenMowerHasValidInputs()
        {
            LawnDimension lawnDimension = new LawnDimension();

            lawnDimension.GridX = 10;
            lawnDimension.GridY = 10;
            List <MowerCommand> commands   = new List <MowerCommand>();
            MowerInput          mowerInput = new MowerInput();

            mowerInput.X         = 5;
            mowerInput.Y         = 5;
            mowerInput.Direction = CompassDirection.East;
            commands.Add(MowerCommand.Move);
            commands.Add(MowerCommand.Left);
            commands.Add(MowerCommand.Right);
            mowerInput.Commands = commands;

            var engine = new Engine(lawnDimension);

            engine.ProcessCommands(mowerInput);
        }