Beispiel #1
0
        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;
		}
Beispiel #6
0
 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);
 }
Beispiel #8
0
 protected internal override Position Apply(int xCoordinate, int yCoordinate, CardinalCompassPoint cardinalCompassPoint)
 {
     cardinalCompassPoint = cardinalCompassPoint.GetPreviousCardinalCompassPoint();
     return(Position.From(xCoordinate, yCoordinate, cardinalCompassPoint));
 }
Beispiel #9
0
 public CardinalCompassPoint Resolve(char input)
 {
     return(input == 'W' ? CardinalCompassPoint.West() : null);
 }
Beispiel #10
0
        public void should_have_correct_coordinates_and_cardinalcompasspoint()
        {
            var expected = Position.From(5, 6, CardinalCompassPoint.North());

            Assert.That(_position, Is.EqualTo(expected));
        }
Beispiel #11
0
 protected override Position Apply(int xCoordinate, int yCoordinate, CardinalCompassPoint cardinalCompassPoint)
 {
     throw new System.NotImplementedException();
 }