public void Attack_SquareIsEmpty_SquareSetToMiss() { var board = TestData.TestData.GetBoard(10, 10); var coordinate = TestData.TestData.GetCoordinate(); string battleshipName = "test"; var battleship = new BattleShip(new ValidatePlacementOfShip()); var ship = battleship.AddBattleship(coordinate, board, battleshipName); var launchMissile = new LaunchMissile(); var result = launchMissile.Attack(2, 3, board); result.Should().Be(SquareStatus.miss.ToString()); }
public void AddBattleship_PlaceShipsIfValid_ReturnsShipPlaced() { var board = TestData.TestData.GetBoard(10, 10); var coordinate = TestData.TestData.GetCoordinate(); string battleshipName = "test"; var battleship = new BattleShip(new ValidatePlacementOfShip()); var ship = battleship.AddBattleship(coordinate, board, battleshipName); ship.Name.Should().Be(battleshipName); ship.Squares.Count().Should().Be(2); ship.Squares.Any(s => s.Column == 1 && s.Row == 2).Should().BeTrue(); ship.Squares.Any(s => s.Column == 2 && s.Row == 2).Should().BeTrue(); ship.Squares.All(s => s.Status == Services.Enums.SquareStatus.occupied).Should().BeTrue(); }
public void Attack_SquareOccupied_ShipSunk() { var board = TestData.TestData.GetBoard(10, 10); var coordinate = TestData.TestData.GetCoordinate(); string battleshipName = "test"; var battleship = new BattleShip(new ValidatePlacementOfShip()); var ship = battleship.AddBattleship(coordinate, board, battleshipName); var launchMissile = new LaunchMissile(); launchMissile.Attack(2, 1, board); var result = launchMissile.Attack(2, 2, board); result.Should().Be("Sunk"); }