def test_evaluator_returns_invalid_results_without_exactly_three_cards(self): sut = evaluator() cards = [] result = sut.evaluate(cards) self.assertEqual(self.invalid_hand_result, result) cards.append(card("D", "K")) result = sut.evaluate(cards) self.assertEqual(self.invalid_hand_result, result) cards.append(card("H", "Q")) result = sut.evaluate(cards) self.assertEqual(self.invalid_hand_result, result) cards.append(card("S", 2)) cards.append(card("S", 8)) result = sut.evaluate(cards) self.assertEqual(self.invalid_hand_result, result)
def test_evaluator_returns_high_card_hand_rank(self): sut = evaluator() cards = [card("D", "A"), card("H", "K"), card("C", 3)] result = sut.evaluate(cards) self.assertEqual(hand_ranks.HIGH_CARD, result)
def test_evaluator_returns_pair_hand_rank(self): sut = evaluator() cards = [card("D", "A"), card("S", "A"), card("C", 3)] result = sut.evaluate(cards) self.assertEqual(hand_ranks.PAIR, result)
def test_evaluator_returns_flush_hand_rank(self): sut = evaluator() cards = [card("D", 10), card("D", "J"), card("D", 3)] result = sut.evaluate(cards) self.assertEqual(hand_ranks.FLUSH, result)
def test_evaluator_returns_straight_hand_rank(self): sut = evaluator() cards = [card("D", 10), card("S", "J"), card("C", "Q")] result = sut.evaluate(cards) self.assertEqual(hand_ranks.STRAIGHT, result)
def test_evaluator_returns_three_of_a_kind_hand_rank(self): sut = evaluator() cards = [card("D", 6), card("S", 6), card("C", 6)] result = sut.evaluate(cards) self.assertEqual(hand_ranks.THREE_OF_A_KIND, result)
def test_evaluator_returns_straight_flush_hand_rank(self): sut = evaluator() cards = [card("D", 2), card("D", 4), card("D", 3)] result = sut.evaluate(cards) self.assertEqual(hand_ranks.STRAIGHT_FLUSH, result)
def test_evaluator_returns_valid_result_with_three_cards(self): sut = evaluator() cards = [card("D", 2), card("H", 10), card("S", 4)] result = sut.evaluate(cards) self.assertNotEqual(self.invalid_hand_result, result)