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 gridDimension_WhenGridCoordinatesNotAInteger_MustThrowException() { string gridsize = "C T"; LawnDimension lawnDimension = new LawnDimension(); LawnDimension.gridDimension(gridsize); }
public void gridDimension_WhenPassingValidGridYCoordinate() { string gridsize = "1 2"; var gridY = 2; LawnDimension lawnDimension = new LawnDimension(); lawnDimension = LawnDimension.gridDimension(gridsize); Assert.AreEqual(gridY, lawnDimension.GridY); }
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); }