public void BoardRulesCheckForMinesThereAreNoMines() { //PositionToMoveto var positionToMoveTo = new Position(2, 2); var boardToTest = new Board(GenerateHorizontalArray.HorizontalChessArray(4), 4, null); var boardRules = new BoardMineSweeperRules(boardToTest); Assert.IsFalse(boardRules.CheckForMines(positionToMoveTo)); }
public void BoardRightReachedAndYouReachedTheEnd() { var boardToTest = new Board(GenerateHorizontalArray.HorizontalChessArray(4), 4, null); var boardRules = new BoardMineSweeperRules(boardToTest); var results = boardRules.ProcessRules(new Position(4, 2)); Assert.AreEqual(true, results.ValidVertical); Assert.AreEqual(false, results.ValidHorizontal); Assert.AreEqual(true, results.ValidMove); Assert.AreEqual(true, results.ReachedTheEnd); Assert.AreEqual("Reached The End", results.Text); }
public void BoardRulesCheckForMinesIHaveHitOneAndItGetsRemoved() { //PositionToMoveto var positionToMoveTo = new Position(4, 2); //Create a MineLocation at the same postion var minePositions = new List <IPosition> { positionToMoveTo }; var boardToTest = new Board(GenerateHorizontalArray.HorizontalChessArray(4), 4, minePositions); var boardRules = new BoardMineSweeperRules(boardToTest); Assert.IsTrue(boardRules.CheckForMines(positionToMoveTo)); Assert.AreEqual(0, boardToTest.NumberOfMines); }
public void BoardRulesCheckForMinesIHaveNotHitOne() { //PositionToMoveto var positionToMoveTo = new Position(4, 2); var minePosition = new Position(1, 2); //Create a MineLocation at the same postion var minePositions = new List <IPosition> { minePosition }; var boardToTest = new Board(GenerateHorizontalArray.HorizontalChessArray(4), 4, minePositions); var boardRules = new BoardMineSweeperRules(boardToTest); Assert.IsFalse(boardRules.CheckForMines(positionToMoveTo)); }
public void BoardRulesIHaveHitAMineOnTheWinningEdge() { //PositionToMoveto var positionToMoveTo = new Position(4, 2); //Create a MineLocation at the same postion var minePositions = new List <IPosition> { positionToMoveTo }; var boardToTest = new Board(GenerateHorizontalArray.HorizontalChessArray(4), 4, minePositions); var boardRules = new BoardMineSweeperRules(boardToTest); var results = boardRules.ProcessRules(positionToMoveTo); Assert.AreEqual(true, results.ValidVertical); Assert.AreEqual(false, results.ValidHorizontal); Assert.AreEqual(true, results.ValidMove); Assert.AreEqual(true, results.ReachedTheEnd); Assert.AreEqual(true, results.HitAMine); Assert.AreEqual("Reached The End", results.Text); }