Beispiel #1
0
def test_table_take_blinds():
    table = Table()
    num_players = 3
    players = []
    for i in xrange(num_players):
        player = Player(10)
        player.sit(table, i)
        players.append(player)
    table.initialize_hand()
    table.incr_action()
    table.take_blinds()
    # This will have to change when I support more types of games
    assert table.pots[0].round_bets == {1: 1, 2: 2, 0: None}
    assert table.action == 2
Beispiel #2
0
def test_table_pots_need_action():
    table = Table()
    num_players = 3
    players = []
    for i in xrange(num_players):
        player = Player(10)
        player.sit(table, i)
        players.append(player)
    table.initialize_hand()
    table.incr_action()
    table.take_blinds()
    assert table.pots_need_action(0)
    assert table.pots_need_action(1)
    assert not table.pots_need_action(2)
Beispiel #3
0
def test_table_take_bet_two_skim_bets():
    table = Table()
    player = Player(3)
    player.sit(table, 0)
    player = Player(4)
    player.sit(table, 3)
    for i in (1, 2):
        player = Player(10)
        player.sit(table, i)

    table.initialize_hand()
    table.incr_action()
    table.take_bet(5)
    assert len(table.pots) == 1
    assert table.pots[0].round_bets == {1: 5, 0: None, 2: None, 3: None}
    table.incr_action()
    table.take_bet(6)
    assert len(table.pots) == 1
    assert table.pots[0].round_bets == {1: 5, 0: None, 2: 6, 3: None}
    table.incr_action()
    table.take_bet(6)
    assert len(table.pots) == 2
    assert table.pots[0].round_bets == {1: 4, 0: None, 2: 4, 3: 4}
    assert table.pots[1].round_bets == {1: 1, 2: 2, 0: None}
    table.incr_action()
    table.take_bet(6)
    assert len(table.pots) == 3
    assert table.pots[0].round_bets == {1: 3, 0: 3, 2: 3, 3: 3}
    assert table.pots[1].round_bets == {1: 1, 2: 1, 3: 1}
    assert table.pots[2].round_bets == {1: 1, 2: 2}
Beispiel #4
0
def test_table_take_bet_two_skim_bets():
    table = Table()
    player = Player(3)
    player.sit(table, 0)
    player = Player(4)
    player.sit(table, 3)
    for i in (1, 2):
        player = Player(10)
        player.sit(table, i)

    table.initialize_hand()
    table.incr_action()
    table.take_bet(5)
    assert len(table.pots) == 1
    assert table.pots[0].round_bets == {1: 5, 0: None, 2: None, 3: None}
    table.incr_action()
    table.take_bet(6)
    assert len(table.pots) == 1
    assert table.pots[0].round_bets == {1: 5, 0: None, 2: 6, 3: None}
    table.incr_action()
    table.take_bet(6)
    assert len(table.pots) == 2
    assert table.pots[0].round_bets == {1: 4, 0: None, 2: 4, 3: 4}
    assert table.pots[1].round_bets == {1: 1, 2: 2, 0: None}
    table.incr_action()
    table.take_bet(6)
    assert len(table.pots) == 3
    assert table.pots[0].round_bets == {1: 3, 0: 3, 2: 3, 3: 3}
    assert table.pots[1].round_bets == {1: 1, 2: 1, 3: 1}
    assert table.pots[2].round_bets == {1: 1, 2: 2}
Beispiel #5
0
def test_table_take_blinds():
    table = Table()
    num_players = 3
    players = []
    for i in xrange(num_players):
        player = Player(10)
        player.sit(table, i)
        players.append(player)
    table.initialize_hand()
    table.incr_action()
    table.take_blinds()
    # This will have to change when I support more types of games
    assert table.pots[0].round_bets == {1: 1, 2: 2, 0: None}
    assert table.action == 2
Beispiel #6
0
def test_table_pots_need_action():
    table = Table()
    num_players = 3
    players = []
    for i in xrange(num_players):
        player = Player(10)
        player.sit(table, i)
        players.append(player)
    table.initialize_hand()
    table.incr_action()
    table.take_blinds()
    assert table.pots_need_action(0)
    assert table.pots_need_action(1)
    assert not table.pots_need_action(2)
Beispiel #7
0
def test_table_run_betting_round():
    table = Table()
    # Dealer will bet first preflop, so 2 will win as for now all players will fold
    num_players = 3
    players = []
    for i in xrange(num_players):
        player = Player(10)
        player.sit(table, i)
        players.append(player)
    table.initialize_hand()
    table.incr_action()
    table.take_blinds()
    winner = table.run_betting_round()
    assert winner == 2
    assert len(table.pots) == 1
    assert table.pots[0].chips == 3  # For a 1/2 limit game
Beispiel #8
0
def test_table_run_betting_round():
    table = Table()
    # Dealer will bet first preflop, so 2 will win as for now all players will fold
    num_players = 3
    players = []
    for i in xrange(num_players):
        player = Player(10)
        player.sit(table, i)
        players.append(player)
    table.initialize_hand()
    table.incr_action()
    table.take_blinds()
    winner = table.run_betting_round()
    assert winner == 2
    assert len(table.pots) == 1
    assert table.pots[0].chips == 3 # For a 1/2 limit game
Beispiel #9
0
def test_table_take_bet_skim():
    table = Table()
    player = Player(4)
    player.sit(table, 0)
    for i in (1, 2):
        player = Player(10)
        player.sit(table, i)

    table.initialize_hand()
    table.incr_action()
    table.take_bet(5)
    assert len(table.pots) == 1
    assert table.pots[0].round_bets == {1: 5, 0: None, 2: None}
    table.incr_action()
    table.take_bet(6)
    assert len(table.pots) == 1
    assert table.pots[0].round_bets == {1: 5, 0: None, 2: 6}
    table.incr_action()
    table.take_bet(6)
    assert len(table.pots) == 2
    assert table.pots[0].round_bets == {1: 4, 0: 4, 2: 4}
    assert table.pots[1].round_bets == {1: 1, 2: 2}
    assert table.players[0].chips == 0
    assert table.players[1].chips == 5
    assert table.players[2].chips == 4
Beispiel #10
0
def test_table_take_bet_skim():
    table = Table()
    player = Player(4)
    player.sit(table, 0)
    for i in (1, 2):
        player = Player(10)
        player.sit(table, i)

    table.initialize_hand()
    table.incr_action()
    table.take_bet(5)
    assert len(table.pots) == 1
    assert table.pots[0].round_bets == {1: 5, 0: None, 2: None}
    table.incr_action()
    table.take_bet(6)
    assert len(table.pots) == 1
    assert table.pots[0].round_bets == {1: 5, 0: None, 2: 6}
    table.incr_action()
    table.take_bet(6)
    assert len(table.pots) == 2
    assert table.pots[0].round_bets == {1: 4, 0: 4, 2: 4}
    assert table.pots[1].round_bets == {1: 1, 2: 2}
    assert table.players[0].chips == 0
    assert table.players[1].chips == 5
    assert table.players[2].chips == 4
Beispiel #11
0
def test_table_take_rake_at_limit():
    table = Table()
    for i in (1, 2, 3, 4):
        player = Player(100)
        player.sit(table, i)

    table.initialize_hand()
    table.incr_action()
    table.take_bet(100)
    table.incr_action()
    table.take_bet(100)
    table.incr_action()
    table.take_bet(100)
    table.incr_action()
    table.take_bet(100)
    for pot in table.pots:
        pot.end_round()
    table.take_rake()
    assert table.rake == [5]
Beispiel #12
0
def test_table_take_rake_at_limit():
    table = Table()
    for i in (1, 2, 3, 4):
        player = Player(100)
        player.sit(table, i)

    table.initialize_hand()
    table.incr_action()
    table.take_bet(100)
    table.incr_action()
    table.take_bet(100)
    table.incr_action()
    table.take_bet(100)
    table.incr_action()
    table.take_bet(100)
    for pot in table.pots:
        pot.end_round()
    table.take_rake()
    assert table.rake == [5]
Beispiel #13
0
def test_table_take_rake_with_skim():
    table = Table()
    for i in (1, 2, 3):
        player = Player(100)
        player.sit(table, i)
    player = Player(10)
    player.sit(table, 0)

    table.initialize_hand()
    table.incr_action()
    table.take_bet(25)
    table.incr_action()
    table.take_bet(25)
    table.incr_action()
    table.take_bet(25)
    table.incr_action()
    table.take_bet(11)  # Gets skimmed to 10
    assert len(table.pots) == 2
    assert table.pots[0].round_bets == {1: 10, 0: 10, 2: 10, 3: 10}
    assert table.pots[1].round_bets == {1: 15, 2: 15, 3: 15}
    for pot in table.pots:
        pot.end_round()
    table.take_rake()
    assert table.rake == [4, 1]
Beispiel #14
0
def test_table_take_rake_with_skim():
    table = Table()
    for i in (1, 2, 3):
        player = Player(100)
        player.sit(table, i)
    player = Player(10)
    player.sit(table, 0)

    table.initialize_hand()
    table.incr_action()
    table.take_bet(25)
    table.incr_action()
    table.take_bet(25)
    table.incr_action()
    table.take_bet(25)
    table.incr_action()
    table.take_bet(11) # Gets skimmed to 10
    assert len(table.pots) == 2
    assert table.pots[0].round_bets == {1: 10, 0: 10, 2: 10, 3: 10}
    assert table.pots[1].round_bets == {1: 15, 2: 15, 3: 15}
    for pot in table.pots:
        pot.end_round()
    table.take_rake()
    assert table.rake == [4, 1]