Esempio n. 1
0
        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();
        }
Esempio n. 3
0
        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");
        }