def test_get_my_cards(self): player = Player('Nikhil') card1 = Card('Spade', 'A') card2 = Card('Heart', 'K') player.get_my_cards().append(card1) player.get_my_cards().append(card2) self.assertEqual(player.get_my_cards(), [card1, card2]) self.assertNotEqual(player.get_my_cards(), [ card1, ])
def test_lose(self): start = StartGame() player = Player('sushant') start.current_players.append(player) player.get_my_cards().append(Card('Spade', 'K')) player.get_my_cards().append(Card('Spade', 'J')) player.get_my_cards().append(Card('Spade', 'Q')) start.busted_players.append(player) '''lose will return list of names of busted players''' self.assertEqual(start.lose()[0], player.get_name()) start.busted_players.clear() '''lose will return empty list if there are no players in busted_list''' self.assertEqual(start.lose(), [])
def __init__(self): self.cards = [ Card(suit, face_value) for suit in SUITS for face_value in FACE_VALUE ] self.decks = self.cards * 8 random.shuffle(self.decks)
def test_is_busted(self): start = StartGame() player = Player('sushant') player.get_my_cards().append(Card('Spade', 'K')) player.get_my_cards().append(Card('Spade', 'K')) player.get_my_cards().append(Card('Spade', 'Q')) '''after calling this method if player's sum is greater than 21 it return True ''' self.assertEqual(start.isbusted(player), True) self.assertNotEqual(start.isbusted(player), False) player.get_my_cards().clear() player.get_my_cards().append(Card('Spade', 'K')) '''after calling this method if player's sum is less than 21 it return False ''' self.assertEqual(start.isbusted(player), False) self.assertNotEqual(start.isbusted(player), True)
def test_get_sum(self): player = Player('Vaibhav') card1 = Card('Spade', 'A') player.get_my_cards().append(card1) self.assertEqual(player.get_sum(), 11) self.assertNotEqual(player.get_sum(), 1) card1 = Card('Spade', 'K') player.get_my_cards().append(card1) self.assertEqual(player.get_sum(), 21) self.assertNotEqual(player.get_sum(), 1) card1 = Card('Spade', '2') player.get_my_cards().append(card1) self.assertEqual(player.get_sum(), 13) self.assertNotEqual(player.get_sum(), 11) player.get_my_cards().remove(card1) player.get_my_cards().append(Card('Heart', 'K')) player.get_my_cards().append(Card('Heart', 'K')) self.assertEqual(player.get_sum(), 31) self.assertNotEqual(player.get_sum(), 12) player.get_my_cards().clear() player.get_my_cards().append(Card("Heart", 'A')) player.get_my_cards().append(Card("Heart", '2')) self.assertEqual(player.get_sum(), 13) self.assertNotEqual(player.get_sum(), 2)
def test_plays(self): set_of_decks = SetOfDecks() set_of_decks.decks.clear() card1 = Card('Spade', 'K') card2 = Card('Spade', 'Q') dealer = Dealer('DealWithMe') set_of_decks.decks.append(card1) set_of_decks.decks.append(card2) dealer.plays(set_of_decks) self.assertEqual(dealer.get_sum(), 20) self.assertNotEqual(dealer.get_sum(), 12) dealer.get_my_cards().clear() dealer.get_my_cards().append(Card('Diamond', 'K')) dealer.get_my_cards().append(Card('Diamond', '7')) dealer.plays(set_of_decks) self.assertEqual(dealer.get_sum(), 17) self.assertNotEqual(dealer.get_sum(), 18)
def test_hit(self): set_of_decks = SetOfDecks() dealer = Dealer('DealWithMe') player = Player('IWill') set_of_decks.decks.clear() set_of_decks.decks.append(Card('Spade', 'A')) dealer.hit(set_of_decks, player) self.assertEqual(player.get_my_cards()[0].get_face_val(), 'A') self.assertNotEqual(player.get_my_cards()[0].get_face_val(), 'B')
def test_distribute_card_first_time(self): current_players = [] player1 = Player('Nikhil') player2 = Player('Nishant') current_players.append(player1) current_players.append(player2) set_of_decks = SetOfDecks() set_of_decks.get_decks_list().clear() set_of_decks.get_decks_list().append(Card('Spade', 'K')) set_of_decks.get_decks_list().append(Card('Spade', 'Q')) set_of_decks.get_decks_list().append(Card('Spade', '2')) set_of_decks.get_decks_list().append(Card('Spade', '3')) set_of_decks.get_decks_list().append(Card('Spade', '4')) set_of_decks.get_decks_list().append(Card('Spade', '5')) dealer = Dealer("IamDealer") dealer.distribute_card_first_time(current_players, set_of_decks) temp_list = [] for card in player1.get_my_cards(): temp_list.append(card.get_face_val()) for card in player2.get_my_cards(): temp_list.append(card.get_face_val()) for card in dealer.get_my_cards(): temp_list.append(card.get_face_val()) self.assertEqual(temp_list, ['K', 'Q', '2', '3', '4', 0])
def test_win(self): start = StartGame() player = Player('sushant') start.current_players.append(player) player.get_my_cards().append(Card('Spade', 'Q')) player.get_my_cards().append(Card('Spade', 'K')) start.dealer.get_my_cards().append(Card('Spade', 'Q')) start.standed_players.append(player) '''playersum > dealersum and playersum <=21''' self.assertEqual(start.wins()[0], player.get_name()) player.get_my_cards().clear() player.get_my_cards().append(Card('Spade', 'K')) player.get_my_cards().append(Card('Spade', 'A')) start.dealer.get_my_cards().append(Card('Spade', '5')) start.dealer.get_my_cards().append(Card('Spade', '6')) '''BlackJack Condition for player wins''' self.assertEqual(start.wins()[0], player.get_name()) player.get_my_cards().clear() start.dealer.get_my_cards().clear() player.get_my_cards().append(Card('Spade', '5')) player.get_my_cards().append(Card('Spade', '6')) player.get_my_cards().append(Card('Spade', 'K')) start.dealer.get_my_cards().append(Card('Spade', 'A')) start.dealer.get_my_cards().append(Card('Spade', 'K')) '''BlackJack Condtion for Dealer wins''' self.assertEqual(start.wins()[0], start.dealer.get_name()) player.get_my_cards().clear() start.dealer.get_my_cards().clear() player.get_my_cards().append(Card('Spade', '5')) start.dealer.get_my_cards().append(Card('Spade', '5')) '''Draw condition response draw ''' self.assertEqual(start.wins()[0], 'draw') start.dealer.get_my_cards().append(Card('Spade', '6')) '''DealerSum > playerSum Dealer wins''' self.assertEqual(start.wins()[0], start.dealer.get_name())
def test_hide_card(self): card = Card('Spade', 'A') card.hide_card() self.assertEqual(card.get_face_val(), 0) self.assertNotEqual(card.get_face_val(), 'A')
def test_get_face_val(self): card = Card('Spade', 'A') self.assertEqual(card.get_face_val(), 'A') self.assertNotEqual(card.get_face_val(), 'B')
def test_make_card_visible(self): card = Card('Spade', 'A') card.hide_card() card.make_card_visible() self.assertEqual(card.get_face_val(), 'A') self.assertNotEqual(card.get_face_val(), 0)