Beispiel #1
0
        public void A_game_should_not_allow_any_new_entrants_if_the_game_has_started()
        {
            var game = new Game(new BuyIn(20));

            game.AddEntrant(new Player());
            game.AddEntrant(new Player());
            game.AddEntrant(new Player());


            game.AddPayouts(TwoPlayerPayout());

             Assert.Throws<ArgumentException>(() => game.AddEntrant(new Player()));          
        }
Beispiel #2
0
        public void A_game_is_concerted_started_when_a_payout_structure_has_been_assign()
        {
            var game = new Game(new BuyIn(20));

            game.AddEntrant(new Player());
            game.AddEntrant(new Player());
            game.AddEntrant(new Player());

            Assert.False(game.IsStarted());


            game.AddPayouts(TwoPlayerPayout());

            Assert.True(game.IsStarted());
        }
Beispiel #3
0
        public void Cannot_assign_a_new_payout_structure_if_the_game_has_started()
        {
            var game = new Game(new BuyIn(20));

            game.AddEntrant(new Player());
            game.AddEntrant(new Player());
            game.AddEntrant(new Player());


            game.AddPayouts(TwoPlayerPayout());

            Assert.True(game.IsStarted());
            Assert.Throws<ArgumentException>(() => game.AddPayouts(TwoPlayerPayout()));
            Assert.True(game.IsStarted());
        }
Beispiel #4
0
        public void When_asked_for_the_payout_of_1st_place_should_return_first_payout()
        {
            var game = new Game(new BuyIn(20));

            game.AddEntrant(new Player());
            game.AddEntrant(new Player());
            game.AddEntrant(new Player());

            game.AddPayouts(TwoPlayerPayout());

            const int firstPlace = 1;
            int result = game.GetPayoutFor(firstPlace);

            Assert.Equal(40, result);
        }
Beispiel #5
0
        public void When_assiging_payouts_the_totals_should_be_equal_to_total_prize_pool()
        {
            var game = new Game(new BuyIn(20));

            game.AddEntrant(new Player());
            game.AddEntrant(new Player());
            game.AddEntrant(new Player());
            game.AddEntrant(new Player());


            Exception ex = Assert.Throws<ArgumentException>(() => game.AddPayouts(TwoPlayerPayout()));
            Assert.Equal("Payout total of 60 does not equal the prize pool of 80", ex.Message);
        }