Esempio n. 1
0
        public void GivenGameBoard_ContainsValidPercentOfMines(int dimX, int dimY, int percent)
        {
            IRandomInteger randomGenerator = A.Fake <IRandomInteger>();

            A.CallTo(() => randomGenerator.NextInt(20, 60)).Returns(percent);
            IGameBoardCreator creator = new GameBoardCreator(randomGenerator);
            var board         = creator.GenerateGameBoard(dimX, dimY);
            int mineCount     = 0;
            int expectedCount = (int)((dimX * dimY) * (percent / 100.0));

            for (int i = 0; i < dimX; i++)
            {
                for (int j = 0; j < dimY; j++)
                {
                    if (board[i, j].HasFlag(Field.Mine))
                    {
                        mineCount++;
                    }
                }
            }

            Assert.That(mineCount == expectedCount, $"{mineCount} neq {expectedCount}");
        }
Esempio n. 2
0
 public IntegerNegativeValueOutputTest(IRandomInteger randomInteger, ILogger logger)
     : base(logger)
 {
     this.randomInteger = randomInteger;
 }
Esempio n. 3
0
 public IntegerInRangeOutputTest(IRandomInteger randomInteger, ILogger logger)
     : base(logger)
 {
     Validator.ValidateNull(randomInteger);
     this.randomInteger = randomInteger;
 }
Esempio n. 4
0
 public GameBoardCreator(IRandomInteger next)
 {
     numberGenerator = next;
 }