public void ToString_WhenAskedForRobotPosition_ReturnsPrettyPrintedPositionAndCardinalOrientation() { var engine = new NorthEngine(); var robot = new Robot(engine); var prettyPrint = robot.ToString(); Assert.AreEqual("0 0 N", prettyPrint); }
public void Forward_WhenCardinalEngineIsSetAndGoesForward_ReturnsCorrectPosition() { var engine = new NorthEngine(); var robot = new Robot(engine); robot.Forward(); Assert.AreEqual(new Position(0, 1), robot.Position); }
public void GetForwardProjection_WhenAskedForProjection_DoesntChangeThePositionOfRobot() { var engine = new NorthEngine(); var robot = new Robot(engine); robot.GetForwardProjection(); Assert.AreEqual(new Position(0, 0), robot.Position); }
public void GetForwardProjection_WhenAskedForProjection_ReturnsChangedPosition() { var engine = new NorthEngine(); var robot = new Robot(engine); var newPosition = robot.GetForwardProjection(); Assert.AreEqual(new Position(0, 1), newPosition); }
public void TurnLeft_WhenCardinalEngineIsSetAndTurnsLeft_ShouldChangeEngineToLeftOne() { var engine = new NorthEngine(); var robot = new Robot(engine); robot.TurnLeft(); Assert.AreEqual(new WestEngine().CardinalDirection, robot.CardinalEngine.CardinalDirection); }
public void TurnRight_WhenCardinalEngineIsSetAndTurnsRight_DoesntChangePosition() { var engine = new NorthEngine(); var robot = new Robot(engine); robot.TurnRight(); Assert.AreEqual(new Position(0, 0), robot.Position); }
public void Forward_WhenCardinalEngineIsSetAndGoesForward_DoesntChangeOrientation() { var engine = new NorthEngine(); var robot = new Robot(engine); robot.Forward(); Assert.AreEqual(engine, robot.CardinalEngine); }
public void Forward_FromStartPositionMovingForward_ReturnsCorrectEndPosition(int startX, int startY, int endX, int endY) { var ne = new NorthEngine(); var startingPosition = new Position(startX, startY); var newPosition = ne.Forward(startingPosition); Assert.AreEqual(new Position(endX, endY), newPosition); }