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()); }
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()); }
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()); }
public void HasBattleshipsRemaining_ReturnsFalse_WhenNoBattleships() { var board = new BattleshipBoard(10, 10); Assert.IsFalse(board.HasBattleshipsRemaining()); }