public void WinningBlackAndEvenAndStraightTest() { // Gather bets from player int chipsOnBlack = 25; int chipsOnEven = 100; int chipsOnStraight = 100; int expectedReward = chipsOnBlack + chipsOnBlack * 1 + chipsOnEven + chipsOnEven * 1 + chipsOnStraight + chipsOnStraight * 35; // 250 + 35*100 = 3750 betsHolder.AddPlayerBet(BetDef.BetType.Black, chipsOnBlack); betsHolder.AddPlayerBet(BetDef.BetType.Even, chipsOnEven); betsHolder.AddPlayerBet(BetDef.BetType.Straight, chipsOnStraight, 2); // Spin and gather winning bets int winningNumber = fakeWheelAlwaysReturningNumber2.Spin(); List <Bet> winningBets = betsHolder.GetWinningBets(winningNumber); // Calculate final win int actualReward = WinCalculator.CalculatePlayerWinningAmount(winningBets); Assert.AreEqual(expectedReward, actualReward); }
public void StraightLose() { BetsHolder betsHolder = new BetsHolder(); betsHolder.AddPlayerBet(BetDef.BetType.Straight, chips, 4); betsHolder.AddPlayerBet(BetDef.BetType.Straight, chips, 5); int wheelResult = 1; List <Bet> winningBets = betsHolder.GetWinningBets(wheelResult); Assert.AreEqual(winningBets.Count, 0); }
public void StraightWin() { BetsHolder betsHolder = new BetsHolder(); betsHolder.AddPlayerBet(BetDef.BetType.Straight, chips, 4); betsHolder.AddPlayerBet(BetDef.BetType.Straight, chips, 5); int wheelResults = 4; List <Bet> winningBets = betsHolder.GetWinningBets(wheelResults); Assert.AreEqual(1, winningBets.Count); winningBets.ForEach(bet => Assert.IsTrue(bet.Numbers.Contains(wheelResults))); }
public void RedLose() { BetsHolder betsHolder = new BetsHolder(); betsHolder.AddPlayerBet(BetDef.BetType.Red, chips); List <int> allPossibleNumbers = GetAllPossibleValues(); List <int> redNumbers = BetDef.betFixedNumbers[BetDef.BetType.Red].ToList(); List <int> allNumbersWithoutRedNumbers = allPossibleNumbers.FindAll(number => !redNumbers.Contains(number)); foreach (int winningNumber in allNumbersWithoutRedNumbers) { List <Bet> winningBets = betsHolder.GetWinningBets(winningNumber); Assert.AreEqual(0, winningBets.Count); } }
public void RedWin() { BetsHolder betsHolder = new BetsHolder(); betsHolder.AddPlayerBet(BetDef.BetType.Red, chips); List <int> redNumbers = BetDef.betFixedNumbers[BetDef.BetType.Red].ToList(); foreach (int winningNumber in redNumbers) { List <Bet> winningBets = betsHolder.GetWinningBets(winningNumber); Assert.AreEqual(1, winningBets.Count); Bet playerBet = betsHolder.PlayerBets.First(); Assert.IsTrue(playerBet.Numbers.Contains(winningNumber)); } }
internal List <Bet> GetWinningBets(int winningNumber) { return(betsHolder.GetWinningBets(winningNumber)); }