public void BattleFieldFrameworkDetonateSize10Mine2()
        {
            BattleFieldFramework bf = new BattleFieldFramework(10);
            Random randomGenerator = new Random(256);
            int numberOfMines = bf.GetNumberOfMines(randomGenerator);
            string[,] playGround = bf.InitMines(randomGenerator, numberOfMines);
            string[,] actual = bf.DetonateMine(playGround, 6, 2);

            string[,] exprected =
                {
                    { " 2 ", " - ", " - ", " - ", " - ", " 3 ", " - ", " - ", " 1 ", " - " },
                    { " 2 ", " - ", " - ", " - ", " - ", " - ", " - ", " - ", " - ", " - " },
                    { " - ", " - ", " 4 ", " - ", " 4 ", " - ", " - ", " - ", " - ", " - " },
                    { " - ", " - ", " - ", " - ", " - ", " - ", " - ", " - ", " - ", " - " },
                    { " - ", " 1 ", " - ", " - ", " - ", " - ", " - ", " 4 ", " 4 ", " 1 " },
                    { " - ", " X ", " X ", " X ", " - ", " - ", " - ", " - ", " - ", " - " },
                    { " - ", " X ", " X ", " X ", " - ", " - ", " 3 ", " - ", " - ", " - " },
                    { " - ", " X ", " X ", " X ", " - ", " 1 ", " - ", " - ", " - ", " - " },
                    { " - ", " 2 ", " 3 ", " 4 ", " - ", " - ", " 4 ", " - ", " - ", " - " },
                    { " - ", " - ", " - ", " - ", " - ", " - ", " - ", " 1 ", " - ", " - " },
                };
            AssertMatrixAreEqual(exprected, actual);
        }
        public void BattleFieldFrameworkInitMinesSize5()
        {
            BattleFieldFramework bf = new BattleFieldFramework(5);
            Random randomGenerator = new Random(123);
            int numberOfMines = bf.GetNumberOfMines(randomGenerator);
            string[,] actual = bf.InitMines(randomGenerator, numberOfMines);

            string[,] exprected =
                {
                    { " 4 ", " - ", " - ", " - ", " - " }, { " - ", " - ", " - ", " - ", " - " },
                    { " 5 ", " 1 ", " - ", " - ", " - " }, { " 1 ", " - ", " - ", " - ", " - " },
                    { " 1 ", " - ", " 1 ", " 5 ", " - " },
                };
            AssertMatrixAreEqual(exprected, actual);
        }
        public void BattleFieldFrameworkDetonateSize5GameOverCountUnopenMines()
        {
            BattleFieldFramework bf = new BattleFieldFramework(5);
            Random randomGenerator = new Random(123);
            int numberOfMines = bf.GetNumberOfMines(randomGenerator);
            string[,] playGround = bf.InitMines(randomGenerator, numberOfMines);
            string[,] first = bf.DetonateMine(playGround, 2, 1);
            string[,] second = bf.DetonateMine(first, 4, 3);
            string[,] third = bf.DetonateMine(second, 0, 0);
            string[,] actual = bf.DetonateMine(third, 4, 0);

            string[,] exprected =
                {
                    { " X ", " X ", " X ", " - ", " - " }, { " X ", " X ", " X ", " - ", " - " },
                    { " X ", " X ", " X ", " X ", " X " }, { " X ", " X ", " X ", " X ", " X " },
                    { " X ", " X ", " X ", " X ", " X " },
                };
            AssertMatrixAreEqual(exprected, actual);
            Assert.AreEqual(0, bf.CountRemainingMines());
        }
        public void BattleFieldFrameworkDetonateSize5Mine5After1()
        {
            BattleFieldFramework bf = new BattleFieldFramework(5);
            Random randomGenerator = new Random(123);
            int numberOfMines = bf.GetNumberOfMines(randomGenerator);
            string[,] playGround = bf.InitMines(randomGenerator, numberOfMines);
            string[,] first = bf.DetonateMine(playGround, 2, 1);
            string[,] actual = bf.DetonateMine(first, 4, 3);

            string[,] exprected =
                {
                    { " 4 ", " - ", " - ", " - ", " - " }, { " X ", " - ", " X ", " - ", " - " },
                    { " 5 ", " X ", " X ", " X ", " X " }, { " X ", " X ", " X ", " X ", " X " },
                    { " 1 ", " X ", " X ", " X ", " X " },
                };
            this.AssertMatrixAreEqual(exprected, actual);
        }
        public void BattleFieldFrameworkDetonateSize1Mine5()
        {
            BattleFieldFramework bf = new BattleFieldFramework(1);
            Random randomGenerator = new Random(123);
            int numberOfMines = bf.GetNumberOfMines(randomGenerator);
            string[,] playGround = bf.InitMines(randomGenerator, numberOfMines);
            string[,] actual = bf.DetonateMine(playGround, 0, 0);

            string[,] exprected = { { " X " }, };
            AssertMatrixAreEqual(exprected, actual);
        }