from unittest import TestCase from aces_eights import AcesEightsPuzzle class TestAcesEightsPuzzle(TestCase): puzzles = [AcesEightsPuzzle(draw="AEA", out=False), AcesEightsPuzzle(draw="AEE", out=False), AcesEightsPuzzle(draw="MME", out=False)] def test_remove_colored(self): p = [AcesEightsPuzzle(draw="MAM", out=False), AcesEightsPuzzle(draw="AAE", out=False)] assert p[0].remove_colored("Carl") == ["AAE", "EEA"] assert p[1].remove_colored("Bob") == ["AEA", "EAE"] assert p[0].remove_colored("Carl") == [] assert p[0].remove_colored("Alice") == ["AEE", "EAA"] def test_can_agent_tell(self): assert self.puzzles[0].can_agent_tell("Bob") assert not self.puzzles[0].can_agent_tell("Alice") assert self.puzzles[1].can_agent_tell("Alice") def test_play(self): assert self.puzzles[0].play() == (2, 'Bob') assert self.puzzles[1].play() == (1, 'Alice') assert self.puzzles[2].play() == (5, 'Bob')