public void RoverPosition_Should_Be_Created_From_Position_Format(string positionFormat, int x, int y, CardinalCompassPoint heading) { var roverPosition = RoverPosition.CreateFromPositionFormat(positionFormat); roverPosition.X.ShouldBe(x); roverPosition.Y.ShouldBe(y); roverPosition.Heading.ShouldBe(heading); }
public void should_have_correct_positions() { var expected = new[] { Position.From(1, 3, CardinalCompassPoint.North()), Position.From(5, 1, CardinalCompassPoint.East()) }; Assert.That(_finalRobotPositions, Is.EqualTo(expected)); }
public Arena Parse(string[] input) { Input = input; return(Arena.From(GridSize.From(5, 5), new[] { Robot.From(Position.From(0, 0, CardinalCompassPoint.North()), Route.From(new[] { RouteStep.RotateRight90Degrees(), RouteStep.MoveOneGridSpace(), RouteStep.RotateLeft90Degrees() })) } )); }
public void should_have_correct_gridsize_and_robots() { var expected = Arena.From (GridSize.From(5, 6), new[] { Robot.From (Position.From(0, 1, CardinalCompassPoint.North()), Route.From(new[] { RouteStep.RotateRight90Degrees(), RouteStep.MoveOneGridSpace(), RouteStep.RotateLeft90Degrees(), RouteStep.MoveOneGridSpace(), RouteStep.RotateRight90Degrees(), RouteStep.MoveOneGridSpace(), RouteStep.RotateLeft90Degrees(), RouteStep.MoveOneGridSpace() })) }); Assert.That(_arena, Is.EqualTo(expected)); }
public RoverPosition(int x, int y, CardinalCompassPoint heading) { X = x; Y = y; Heading = heading; }
protected internal override Position Apply(int xCoordinate, int yCoordinate, CardinalCompassPoint cardinalCompassPoint) { xCoordinate += cardinalCompassPoint.GetXDeltaWhenMoving(1); yCoordinate += cardinalCompassPoint.GetYDeltaWhenMoving(1); return(Position.From(xCoordinate, yCoordinate, cardinalCompassPoint)); }
public CardinalCompassPoint Resolve(char input) { return(input == 'S' ? CardinalCompassPoint.South() : null); }
protected internal override Position Apply(int xCoordinate, int yCoordinate, CardinalCompassPoint cardinalCompassPoint) { cardinalCompassPoint = cardinalCompassPoint.GetPreviousCardinalCompassPoint(); return(Position.From(xCoordinate, yCoordinate, cardinalCompassPoint)); }
public CardinalCompassPoint Resolve(char input) { return(input == 'W' ? CardinalCompassPoint.West() : null); }
public void should_have_correct_coordinates_and_cardinalcompasspoint() { var expected = Position.From(5, 6, CardinalCompassPoint.North()); Assert.That(_position, Is.EqualTo(expected)); }
protected override Position Apply(int xCoordinate, int yCoordinate, CardinalCompassPoint cardinalCompassPoint) { throw new System.NotImplementedException(); }