public void GivenMap_WhenShootingWeaponAtCoordinatesOutsideOfMap_ThrowsException() { const int width = 5; const int height = 5; var map = new PlayerMap(width, height, this.player); var coordinate = new Point(-1, -1); var otherPlayer = new BattleshipPlayer("OtherPlayer", 'A', PlayerType.One); var weapon = new WeaponStub(otherPlayer); Assert.Throws <ArgumentException>(() => map.Shoot(coordinate, weapon)); }
public void GivenMap_WhenShootingWeaponAtCoordinatesInMap_CallsShootOnWeapon() { const int width = 5; const int height = 5; var map = new PlayerMap(width, height, this.player); var coordinate = new Point(width / 2, height / 2); var otherPlayer = new BattleshipPlayer("OtherPlayer", 'A', PlayerType.One); var weapon = new WeaponStub(otherPlayer); map.Shoot(coordinate, weapon); Assert.True(weapon.ShootCalled); Assert.NotNull(weapon.Target); }