public void PlacesPlayerCorrectlyToLeftOfOther(PlacedPlayer playerToBeToLeftOf, PlacedPlayer playerToPlace, int distanceToLeft, Location expectedLocation) { IPlacementRule placementRule = new RelativeToPlayerHorizontally(playerToBeToLeftOf, distanceToLeft, RelativeType.Left); playerToPlace = placementRule.Place(playerToPlace); Assert.Equal <Location>(expectedLocation, playerToPlace.location); }
public void PlacesPlayerCorrectlyOutsideOther(PlacedPlayer playerToBeOutside, PlacedPlayer playerToPlace, int distanceOutside, Location expectedLocation) { IPlacementRule placementRule = new RelativeToPlayerHorizontally(playerToBeOutside, distanceOutside, RelativeType.Outside); playerToPlace = placementRule.Place(playerToPlace); Assert.Equal <Location>(expectedLocation, playerToPlace.location); }
public void PlacingPlayerZeroUnitsToLeftThrowsException() { PlacedPlayer playerToBeToLeftOf = new PlacedPlayer(); PlacedPlayer playerToPlace = new PlacedPlayer(3, 3); IPlacementRule placementRule = new RelativeToPlayerHorizontally(playerToBeToLeftOf, 0, RelativeType.Left); PlacementException ex = Assert.Throws <PlacementException>(() => playerToPlace = placementRule.Place(playerToPlace)); Assert.Equal("Can't place 0 units relative.", ex.Message); }
public void PlacingPlayerNegativeUnitsToRightOfThrowsException() { PlacedPlayer playerToBeToRightOf = new PlacedPlayer(); PlacedPlayer playerToPlace = new PlacedPlayer(); IPlacementRule placementRule = new RelativeToPlayerHorizontally(playerToBeToRightOf, -7, RelativeType.Right); PlacementException ex = Assert.Throws <PlacementException>(() => playerToPlace = placementRule.Place(playerToPlace)); Assert.Equal("Can't place player negative distance relative.", ex.Message); }
public void PlacingPlayerNegativeUnitsOutsideThrowsExceptionWithProperMessage() { PlacedPlayer playerToBeOutside = new PlacedPlayer(); PlacedPlayer playerToPlace = new PlacedPlayer(3, 3); IPlacementRule placementRule = new RelativeToPlayerHorizontally(playerToBeOutside, -4, RelativeType.Outside); PlacementException ex = Assert.Throws <PlacementException>(() => playerToPlace = placementRule.Place(playerToPlace)); Assert.Equal("Can't place player negative distance relative.", ex.Message); }
public void PlacingPlayerOutsidePlayerInMiddleThrowsExceptionWithProperMessage() { PlacedPlayer playerToBeOutside = new PlacedPlayer(); PlacedPlayer playerToPlace = new PlacedPlayer(3, 3); IPlacementRule placementRule = new RelativeToPlayerHorizontally(playerToBeOutside, 1, RelativeType.Outside); PlacementException ex = Assert.Throws <PlacementException>(() => playerToPlace = placementRule.Place(playerToPlace)); Assert.Equal("Can't place player inside/outside another player who is in center of formation.", ex.Message); }
public void PlacingPlayerZeroUnitsInsideThrowsExceptionWithProperMessage() { PlacedPlayer playerToBeInside = new PlacedPlayer(); PlacedPlayer playerToPlace = new PlacedPlayer(3, 3); IPlacementRule placementRule = new RelativeToPlayerHorizontally(playerToBeInside, 0, RelativeType.Inside); PlacementException ex = Assert.Throws <PlacementException>(() => playerToPlace = placementRule.Place(playerToPlace)); Assert.Equal("Can't place 0 units relative.", ex.Message); }