Ejemplo n.º 1
0
        public void DistributingGivesMoneyToLowestInRankingList()
        {
            //Arrange
            var pot = new MoneyPot();
            var p1  = new PlayerInfo {
                MoneyBetAmnt = 142, MoneySafeAmnt = 1000
            };
            var p2 = new PlayerInfo {
                MoneyBetAmnt = 221, MoneySafeAmnt = 5000
            };

            pot.Contribute(p1, 42);
            pot.Contribute(p2, 21);

            //Act
            var res = pot.Distribute(new[] { PlayerWithRank(p1, 2), PlayerWithRank(p2, 1) }).ToArray();

            //Assert
            Assert.AreEqual(0, pot.MoneyAmount);
            Assert.AreEqual(100, p1.MoneyBetAmnt);
            Assert.AreEqual(1000, p1.MoneySafeAmnt);
            Assert.AreEqual(200, p2.MoneyBetAmnt);
            Assert.AreEqual(5063, p2.MoneySafeAmnt);
            Assert.AreEqual(1, res.Length);
            //Assert.AreEqual(p2, res.First().Key.CardsHolder.Player);
            Assert.AreEqual(63, res.First().Value);
        }
Ejemplo n.º 2
0
        public void DistributingGivesMoneyToNobodyIfNoContributingPlayerInTheRankingList()
        {
            //Arrange
            var pot = new MoneyPot();
            var p1  = new PlayerInfo {
                MoneyBetAmnt = 142, MoneySafeAmnt = 1000
            };
            var p2 = new PlayerInfo {
                MoneyBetAmnt = 0, MoneySafeAmnt = 5000
            };

            pot.Contribute(p1, 42);

            //Act
            var res = pot.Distribute(new[] { PlayerWithRank(p2, 1) }).ToArray();

            //Assert
            Assert.AreEqual(0, pot.MoneyAmount);
            Assert.AreEqual(100, p1.MoneyBetAmnt);
            Assert.AreEqual(1000, p1.MoneySafeAmnt);
            Assert.AreEqual(0, p2.MoneyBetAmnt);
            Assert.AreEqual(5000, p2.MoneySafeAmnt);
            Assert.AreEqual(1, res.Length);
            Assert.AreEqual(null, res.First().Key);
            Assert.AreEqual(42, res.First().Value);
        }
Ejemplo n.º 3
0
        public void DistributingSplitsMoneyToLowestInRankingList()
        {
            //Arrange
            var pot = new MoneyPot();
            var p1  = new PlayerInfo {
                MoneyBetAmnt = 142, MoneySafeAmnt = 1000
            };
            var p2 = new PlayerInfo {
                MoneyBetAmnt = 221, MoneySafeAmnt = 5000
            };

            pot.Contribute(p1, 42);
            pot.Contribute(p2, 21);

            //Act
            var res = pot.Distribute(new[] { PlayerWithRank(p1, 1), PlayerWithRank(p2, 1) }).ToArray();

            //Assert
            Assert.AreEqual(0, pot.MoneyAmount);
            Assert.AreEqual(100, p1.MoneyBetAmnt);
            Assert.AreEqual(1031, p1.MoneySafeAmnt);
            Assert.AreEqual(200, p2.MoneyBetAmnt);
            Assert.AreEqual(5031, p2.MoneySafeAmnt);
            Assert.AreEqual(3, res.Length);
            //Assert.AreEqual(p1, res.First().Key.CardsHolder.Player);
            Assert.AreEqual(31, res.First().Value);         // 63 / 2 = 31.5: 31 is given
            //Assert.AreEqual(p2, res.Skip(1).First().Key.CardsHolder.Player);
            Assert.AreEqual(31, res.Skip(1).First().Value); // 63 / 2 = 31.5: 31 is given
            Assert.AreEqual(null, res.Skip(2).First().Key);
            Assert.AreEqual(1, res.Skip(2).First().Value);  // 63 - (31*2) = 1: 1 buck for the casino !
        }
Ejemplo n.º 4
0
        public void ContributingTakesMoneyFromPlayerBetAmount()
        {
            //Arrange
            var pot = new MoneyPot();
            var p   = new PlayerInfo {
                MoneyBetAmnt = 142
            };

            //Act
            pot.Contribute(p, 42);

            //Assert
            Assert.AreEqual(42, pot.MoneyAmount);
            Assert.AreEqual(100, p.MoneyBetAmnt);
        }
Ejemplo n.º 5
0
        public void DistributingGivesMoneyToPlayerSafeAmount()
        {
            //Arrange
            var pot = new MoneyPot();
            var p   = new PlayerInfo {
                MoneyBetAmnt = 142, MoneySafeAmnt = 1000
            };

            pot.Contribute(p, 42);

            //Act
            var res = pot.Distribute(new[] { PlayerWithRank(p, 1) }).ToArray();

            //Assert
            Assert.AreEqual(0, pot.MoneyAmount);
            Assert.AreEqual(100, p.MoneyBetAmnt);
            Assert.AreEqual(1042, p.MoneySafeAmnt);
            Assert.AreEqual(1, res.Length);
            //Assert.AreEqual(p, res.First().Key.CardsHolder.Player);
            Assert.AreEqual(42, res.First().Value);
        }
 public void RaisePlayerWonPot(WinningPlayer player, MoneyPot pot, int amntWon)
 {
     PlayerWonPot(m_Game, new PotWonEventArgs(player, pot, amntWon));
 }
Ejemplo n.º 7
0
 public PotWonEventArgs(WinningPlayer player, MoneyPot pot, int amountwon)
 {
     Player = player;
     Pot = pot;
     AmountWon = amountwon;
 }