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); }
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); }
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); }
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); }
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); }
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); }