Beispiel #1
0
    def test_challenge(self):
        game = LiarsPoker()
        p1_id = game.add_player()
        game.add_player()
        game.start()

        p1_state = json.loads(game.get_state(p1_id))
        ordering = p1_state['player_ordering']

        update = dict(move='challenge')
        result = game.update_state(ordering[0], json.dumps(update))
        assert type(result) == InvalidActionError

        update = dict(move='claim', combo=['triple', 3])
        assert not game.update_state(ordering[0], json.dumps(update))

        update = dict(move='challenge')
        assert not game.update_state(ordering[1], json.dumps(update))

        s = json.loads(game.get_state(ordering[0]))
        assert s['counts'][ordering[0]] == 2
        assert s['counts'][ordering[1]] == 1

        update = dict(move='claim', combo=['single', s['hand'][0][0]])
        assert not game.update_state(ordering[0], json.dumps(update))

        update = dict(move='challenge')
        assert not game.update_state(ordering[1], json.dumps(update))

        s = json.loads(game.get_state(ordering[0]))
        assert s['counts'][ordering[0]] == 2
        assert s['counts'][ordering[1]] == 2
Beispiel #2
0
    def test_claim(self):
        game = LiarsPoker()
        p1_id = game.add_player()
        game.add_player()
        game.start()

        p1_state = json.loads(game.get_state(p1_id))
        ordering = p1_state['player_ordering']

        update = dict(move='claim', combo=['pair', 3])
        assert not game.update_state(ordering[0], json.dumps(update))
        update = dict(move='claim', combo=['pair', 10])
        assert not game.update_state(ordering[1], json.dumps(update))
        update = dict(move='claim', combo=['single', 13])
        result = game.update_state(ordering[0], json.dumps(update))
        assert type(result) == InvalidActionError
        update = dict(move='claim', combo=['triple', 3])
        assert not game.update_state(ordering[0], json.dumps(update))