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."); }
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); }
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()); }
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}"); } }