Esempio n. 1
0
        public void HasBattleshipsRemaining_ReturnsTrue_WhenOneOfTwoBattleshipsSunk()
        {
            var board = new BattleshipBoard(10, 10);

            // Add two battleships
            Assert.IsTrue(board.AddBattleship( // Battleship A
                              new Battleship(4, 1),
                              new Coord()
            {
                X = 0, Y = 0
            }));
            Assert.IsTrue(board.AddBattleship( // Battleship B
                              new Battleship(1, 4),
                              new Coord()
            {
                X = 1, Y = 1
            }));

            // Attack all cells of battleship A and sink it
            for (var i = 0; i < 4; i++)
            {
                Assert.IsTrue(board.HasBattleshipsRemaining());
                board.ReceiveAttackAt(new Coord()
                {
                    X = i, Y = 0
                });
            }

            // Battleship B still survives
            Assert.IsTrue(board.HasBattleshipsRemaining());
        }
Esempio n. 2
0
        public void HasBattleshipsRemaining_ReturnsTrue_WhenOneUndamagedBattleship()
        {
            var board = new BattleshipBoard(10, 10);

            Assert.IsTrue(board.AddBattleship(
                              new Battleship(4, 1),
                              new Coord()
            {
                X = 0, Y = 0
            }));

            Assert.IsTrue(board.HasBattleshipsRemaining());
        }
Esempio n. 3
0
        public void HasBattleshipsRemaining_ReturnsTrue_UntilLoneBattleshipSunk()
        {
            var board = new BattleshipBoard(10, 10);

            Assert.IsTrue(board.AddBattleship(
                              new Battleship(4, 1),
                              new Coord()
            {
                X = 0, Y = 0
            }));

            // Attack all cells of the lone battleship and sink it
            for (var i = 0; i < 4; i++)
            {
                Assert.IsTrue(board.HasBattleshipsRemaining());
                board.ReceiveAttackAt(new Coord()
                {
                    X = i, Y = 0
                });
            }
            Assert.IsFalse(board.HasBattleshipsRemaining());
        }
Esempio n. 4
0
        public void HasBattleshipsRemaining_ReturnsFalse_WhenNoBattleships()
        {
            var board = new BattleshipBoard(10, 10);

            Assert.IsFalse(board.HasBattleshipsRemaining());
        }