Exemplo n.º 1
0
class PlayerTests(unittest.TestCase):
    def setUp(self):
        self.player_1 = False
        self.player_2 = False
        self.deck = False

    def test_human_player_is_not_bot(self):
        self.player_1 = HumanPlayer()
        self.player_2 = Bot

        self.assertFalse(isinstance(self.player_1, self.player_2))

    def test_two_diff_not_equal(self):
        self.player_1 = HumanPlayer("Jeffery")
        self.player_2 = HumanPlayer("Robert")
        self.assertNotEqual(self.player_1, self.player_2)

    def test_two_diff_same_name_not_equal(self):
        self.player_1 = HumanPlayer("Jeffery")
        self.player_2 = HumanPlayer("Jeffery")
        self.assertNotEqual(self.player_1, self.player_2)

    def test_draw_hand(self):
        self.deck = Deck()
        self.deck.initialize()

        self.player_1 = HumanPlayer()

        # Make sure the deck is 52 cards (one full deck)
        self.assertIs(self.deck.currentAmount(), 52)

        # Player draws a full hand from the deck
        self.player_1.drawHand(self.deck)

        # Make sure after drawing that the deck takes 7
        # 	cards away from its full total
        self.assertIs(self.deck.currentAmount(), 45)

        # Assert that the player actually has a hand
        self.assertIsNot(self.player_1.getHand(), [])

        # At least for Go Fish, the hand should be 7
        # 	cards big when the player is starting out
        self.assertIs(self.player_1.countHand(), 7)

    def tearDown(self):
        self.player_1 = False
        self.player_2 = False
        self.deck = False