Example #1
0
        public void ValidateGeneratedNumbers()
        {
            var gen1 = new NumberGenerator();

            var result = gen1.GenerateXNumbers(1);

            Assert.AreEqual(Constants.MatrixNumberOfRows, result.Length);
            Assert.IsTrue(result.All(r => r >= 10 && r <= 19));
            Assert.AreEqual(result.Length, result.Distinct().Count());


            result = gen1.GenerateXNumbers(0);
            Assert.AreEqual(Constants.MatrixNumberOfRows, result.Length);
            Assert.IsTrue(result.All(r => r >= 0 && r <= 9));
            Assert.AreEqual(result.Length, result.Distinct().Count());


            result = gen1.GenerateXNumbers(8);
            Assert.AreEqual(Constants.MatrixNumberOfRows, result.Length);
            Assert.IsTrue(result.All(r => r >= 80 && r <= 89));
            Assert.AreEqual(result.Length, result.Distinct().Count());

            var gen2 = new NumberGenerator();

            result = gen2.GenerateWinningIndexes();
            Assert.AreEqual(result.Length, Constants.NumberOfWinningOptions);
            Assert.IsTrue(result.All(r => r >= 0 && r < Constants.MatrixNumberOfColumns * Constants.MatrixNumberOfRows));
            Assert.AreEqual(result.Length, result.Distinct().Count());
        }
Example #2
0
        private static void GenerateRandomWinningNumbers(NumberGenerator generator)
        {
            var winningNumbersIndexes = generator.GenerateWinningIndexes();

            for (var i = 0; i < Constants.NumberOfWinningOptions; i++)
            {
                State.WinningNumbers[i] = State.GeneratedNumbers[winningNumbersIndexes[i]];
            }
        }