def test_reset(self): hand = bj.Hand() hand.add_card(bj.create_card(8)) hand.add_card(bj.create_card(8)) hand.reset() self.assertEqual(len(hand.cards), 0)
def test_process_state_hard_17(self): dealer = bj.DealerActor() dealer.add_card(bj.create_card(10)) dealer.add_card(bj.create_card(7)) a = dealer.process_state({}) self.assertEqual(a, bj.Action.STAND)
def test_process_state_hit(self): dealer = bj.DealerActor() dealer.add_card(bj.create_card(5)) dealer.add_card(bj.create_card(4)) a = dealer.process_state({}) self.assertEqual(a, bj.Action.HIT)
def test_drawn_cards(self): actor = bj.Actor() actor.add_card(bj.create_card(3)) actor.add_card(bj.create_card(2)) actor.add_card(bj.create_card(5)) actor.add_card(bj.create_card(6)) actor.add_card(bj.create_card(3)) self.assertEqual(actor.drawn_cards(), 3)
def test_basic_hand(self): hand = bj.Hand() hand.add_card(bj.create_card(10)) hand.add_card(bj.create_card(8)) self.assertEqual(hand.count(), 18) self.assertFalse(hand.is_blackjack()) self.assertTrue(hand.can_double_down()) self.assertFalse(hand.can_split()) self.assertFalse(hand.is_soft_hand())
def test_is_blackjack(self): hand = bj.Hand() hand.add_card(bj.create_card(10)) hand.add_card(bj.create_ace()) self.assertTrue(hand.is_blackjack()) hand.add_card(bj.create_card(10)) self.assertEqual(hand.count(), 21) self.assertFalse(hand.is_blackjack())
def test_string_multiple_hands(self): actor = bj.Actor() actor.add_card(bj.create_card(3)) actor.add_card(bj.create_card(5)) actor.hands.append(bj.Hand()) actor.add_card(bj.create_card(6), 1) actor.add_card(bj.create_card(5), 1) self.assertEqual(str(actor), '(0) 3 5 - 8\n(1) 6 5 - 11\n')
def test_aces(self): hand = bj.Hand() hand.add_card(bj.create_ace()) hand.add_card(bj.create_card(8)) self.assertTrue(hand.is_soft_hand()) hand.add_card(bj.create_ace()) self.assertEqual(hand.count(), 20) hand.add_card(bj.create_card(10)) self.assertEqual(hand.count(), 20)
def test_count_multiple_hands(self): actor = bj.Actor() actor.add_card(bj.create_card(10)) actor.add_card(bj.create_card(8)) # Add a new hand. actor.hands.append(bj.Hand()) actor.add_card(bj.create_card(6), 1) actor.add_card(bj.create_card(5), 1) self.assertEqual(actor.count(), 18) self.assertEqual(actor.count(1), 11)
def test_obfuscate_count(self): dealer = bj.DealerActor() dealer.add_card(bj.create_card(10)) dealer.add_card(bj.create_card(8)) self.assertEqual(dealer.count(), 10) self.assertEqual(str(dealer), '10 X - 10') dealer.show_hand = True self.assertEqual(dealer.count(), 18) self.assertEqual(str(dealer), '10 8 - 18')
def test_count_append(self): hand = bj.Hand() hand.add_card(bj.create_ace()) hand.add_card(bj.create_card(5)) self.assertEqual(hand.count(), 16) hand.add_card(bj.create_card(4)) self.assertEqual(hand.count(), 20) hand.add_card(bj.create_card(8)) self.assertEqual(hand.count(), 18) hand.add_card(bj.create_card(5)) self.assertEqual(hand.count(), 23)
def test_split_single_hand(self): actor = bj.Actor() actor.add_card(bj.create_card(5)) actor.add_card(bj.create_card(5)) actor.split_hand() self.assertEqual(len(actor.hands), 2) self.assertEqual(actor.count(), 5) self.assertEqual(actor.hands[0].cards[0].min_val, 5) self.assertTrue(actor.hands[0].is_split) self.assertEqual(actor.count(1), 5) self.assertEqual(actor.hands[1].cards[0].min_val, 5) self.assertTrue(actor.hands[1].is_split)
def test_process_state_soft_18(self): dealer = bj.DealerActor() dealer.add_card(bj.create_ace()) dealer.add_card(bj.create_card(8)) a = dealer.process_state({}) self.assertEqual(a, bj.Action.STAND)
def test_split_multiple_hands(self): actor = bj.Actor() actor.add_card(bj.create_card(5)) actor.add_card(bj.create_card(5)) actor.hands.append(bj.Hand()) actor.add_card(bj.create_card(8), 1) actor.add_card(bj.create_card(7), 1) actor.split_hand() self.assertEqual(len(actor.hands), 3) self.assertEqual(actor.count(), 5) self.assertEqual(actor.hands[0].cards[0].min_val, 5) self.assertTrue(actor.hands[0].is_split) self.assertEqual(actor.count(1), 5) self.assertEqual(actor.hands[1].cards[0].min_val, 5) self.assertTrue(actor.hands[1].is_split) self.assertEqual(actor.hands[2].cards[0].min_val, 8)
def test_drawn_cards_multiple_hands(self): actor = bj.Actor() actor.add_card(bj.create_card(3)) actor.add_card(bj.create_card(5)) actor.hands.append(bj.Hand()) actor.add_card(bj.create_card(6), 1) actor.add_card(bj.create_card(5), 1) actor.add_card(bj.create_card(6), 1) actor.hands.append(bj.Hand()) actor.add_card(bj.create_card(3), 2) actor.add_card(bj.create_card(8), 2) actor.add_card(bj.create_card(5), 2) self.assertEqual(actor.drawn_cards(), 2)
def test_count(self): actor = bj.Actor() actor.add_card(bj.create_card(10)) actor.add_card(bj.create_card(8)) self.assertEqual(actor.count(), 18)
def test_split(self): hand = bj.Hand() hand.add_card(bj.create_card(8)) hand.add_card(bj.create_card(8)) self.assertTrue(hand.can_split())
def test_string(self): actor = bj.Actor() actor.add_card(bj.create_card(10)) actor.add_card(bj.create_card(6)) self.assertEqual(str(actor), '10 6 - 16')