Ejemplo n.º 1
0
 private Point PositionSouthOfMe(IWorldSize worldSize)
 {
     if (point.Y == worldSize.MinY)
     {
         return(new Point(point.X, worldSize.YPositionSouthOfBoundary));
     }
     return(new Point(point.X, point.Y - 1));
 }
Ejemplo n.º 2
0
 private Point PositionEastOfMe(IWorldSize worldSize)
 {
     if (point.X == worldSize.MaxX)
     {
         return(new Point(worldSize.XPositionEastOfBoundary, point.Y));
     }
     return(new Point(point.X + 1, point.Y));
 }
Ejemplo n.º 3
0
 private Point PositionNorthOfMe(IWorldSize worldSize)
 {
     if (point.Y == worldSize.MaxY)
     {
         return(new Point(point.X, worldSize.YPositionNorthOfBoundary));
     }
     return(new Point(point.X, point.Y + 1));
 }
Ejemplo n.º 4
0
        private static void Verify(IWorldSize world, string dropLocation, string command, string endLocation)
        {
            //Arrange
            var initialLocation  = new Location(dropLocation);
            var expectedLocation = new Location(endLocation);
            var rover            = new Rover(world, initialLocation);

            //Act
            rover.Move(command);

            //Assert
            Assert.Equal(expectedLocation, rover.Location);
        }
Ejemplo n.º 5
0
        internal Location MoveForward(IWorldSize worldSize)
        {
            if (facing == Facing.North)
            {
                return(new Location(PositionNorthOfMe(worldSize), facing));
            }
            if (facing == Facing.South)
            {
                return(new Location(PositionSouthOfMe(worldSize), facing));
            }
            if (facing == Facing.East)
            {
                return(new Location(PositionEastOfMe(worldSize), facing));
            }
            if (facing == Facing.West)
            {
                return(new Location(PositionWestOfMe(worldSize), facing));
            }

            throw new InvalidOperationException(facing + " is not supported");
        }
Ejemplo n.º 6
0
 public Rover(IWorldSize worldSize, Location dropLocation)
 {
     this.worldSize = worldSize;
     Location       = dropLocation;
 }