Example #1
0
        public void ResultsComposer_Do_Winning_Lines_Exist()
        {
            Reel[] reels = new Reel[]
            {
                new Reel(new int[] { 0, 1, 5 }, 1),
                new Reel(new int[] { 5, 1 }, 1),
                new Reel(new int[] { 5, 2, 1 }, 1),
                new Reel(new int[] { 7, 5, 1, 6 }, 1),
            };

            ResultsComposer composer = new ResultsComposer(reels);

            Assert.AreEqual(2, composer.Lines.Count(this.IsWinningLine), "No expected winning line.");
        }
Example #2
0
        public void ResultsComposer_Reels_Symbols_Ascending()
        {
            Reel[] reels = new Reel[]
            {
                new Reel(new int[] { 5 }, 1),
                new Reel(new int[] { 6, 1 }, 1),
                new Reel(new int[] { 0, 1, 3 }, 1),
            };

            ResultsComposer composer = new ResultsComposer(reels);

            // Mnożymy wszystkie kombinacje walców
            Assert.AreEqual(6, composer.Lines.Count());
            this.AssertLinesUnique(composer.Lines);
        }
Example #3
0
        public void ResultsComposer_Reels_Default()
        {
            int[] reel1Symbols = new int[] { 0, 1, 2, 3, 4, 4, 4, 5, 6, 7, 7, 0, 0, 2, 2, 3 };
            int[] reel2Symbols = new int[] { 7, 7, 7, 6, 6, 6, 5, 5, 5, 4, 3, 2, 2, 2, 1, 1, 1, 0, 0, 0, 2, 3, 4, 7 };
            int[] reel3Symbols = new int[] { 0, 1, 0, 2, 0, 3, 4, 5, 6, 6, 6, 6, 6, 5, 5, 5, 1, 0, 1, 2, 3, 4, 1, 1, 1, 0, 0, 7, 7, 7, 5 };

            Reel[] reels = new Reel[]
            {
                new Reel(reel1Symbols, 1),
                new Reel(reel2Symbols, 1),
                new Reel(reel3Symbols, 1),
            };

            ResultsComposer composer = new ResultsComposer(reels);

            // 16 x 24 x 31
            Assert.AreEqual(11904, composer.Lines.Count());
        }
Example #4
0
        public void ResultsComposer_IsAppriopriate_Order()
        {
            int[] first  = new int[] { 1, 2, 3, 4 };
            int[] second = new int[] { 4, 6, 5, 7 };
            int[] third  = new int[] { 8, 9, 10, 11 };

            Reel[] reels = new Reel[]
            {
                new Reel(first, 1),
                new Reel(second, 1),
                new Reel(third, 1),
            };

            ResultsComposer composer = new ResultsComposer(reels);

            for (int i = 0; i < composer.Lines.Length; i++)
            {
                Assert.AreEqual(reels.Length, composer.Lines[i].Length, $"Invalid row {i} size.");
                Assert.IsTrue(first.Any(symbol => symbol == composer.Lines[i][0]), $"Invalid value of 1st reel: '{composer.Lines[i][0]}', row: {i}");
                Assert.IsTrue(second.Any(symbol => symbol == composer.Lines[i][1]), $"Invalid value of 2st reel: '{composer.Lines[i][1]}', row: {i}");
                Assert.IsTrue(third.Any(symbol => symbol == composer.Lines[i][2]), $"Invalid value of 3rd reel: '{composer.Lines[i][2]}', row: {i}");
            }
        }