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
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))