def test_get_player_hit(self): player = Player("Jill", 100) # (case name, expected prints, expected inputs) cases = [ ("ask_twice_to_stand", ["has score", "has score"], [("Hit or stand", "b"), ("Hit or stand", "n")]), ] for case in cases: expected_prints = list(reversed(case[1])) expected_inputs = list(reversed(case[2])) def test_print(statement): self.assertTrue(expected_prints.pop() in statement) def test_input(prompt): expected_input = expected_inputs.pop() self.assertTrue(expected_input[0] in prompt) return expected_input[1] blackjack = Blackjack([player], test_print, test_input) blackjack._dealer_deals_cards() blackjack._get_player_hit(player)