def test_two_pair(): assert Yatzy.two_pair(3, 3, 5, 4, 5) == 16 assert Yatzy.two_pair(3, 3, 6, 6, 6) == 18 assert Yatzy.two_pair(3, 3, 6, 5, 4) == 0 assert Yatzy.two_pair(3, 2, 2, 4, 4) == 12 assert Yatzy.two_pair(1, 1, 5, 5, 6) == 12 assert Yatzy.two_pair(3, 3, 2, 2, 4) == 10 assert Yatzy.two_pair(6, 6, 5, 1, 1) == 14 assert Yatzy.two_pair(3, 3, 4, 4, 6) == 14 assert Yatzy.two_pair(6, 6, 5, 1, 5) == 22
def test_four_of_a_kind(): assert Yatzy.four_of_a_kind(3, 3, 3, 3, 5) == 12 assert Yatzy.four_of_a_kind(5, 5, 5, 4, 5) == 20 assert Yatzy.four_of_a_kind(3, 3, 3, 3, 3) == 12 assert Yatzy.four_of_a_kind(3, 3, 3, 2, 1) == 0 assert Yatzy.four_of_a_kind(1, 1, 3, 1, 1) == 4 assert Yatzy.four_of_a_kind(2, 2, 2, 5, 2) == 8 assert Yatzy.four_of_a_kind(3, 6, 6, 6, 6) == 24
def test_three_of_a_kind(): assert Yatzy.three_of_a_kind(3, 3, 3, 4, 5) == 9 assert Yatzy.three_of_a_kind(5, 3, 5, 4, 5) == 15 assert Yatzy.three_of_a_kind(3, 3, 3, 3, 5) == 9 assert Yatzy.three_of_a_kind(2, 3, 2, 2, 5) == 6 assert Yatzy.three_of_a_kind(6, 3, 5, 6, 6) == 18 assert Yatzy.three_of_a_kind(1, 1, 3, 1, 5) == 3 assert Yatzy.three_of_a_kind(4, 1, 4, 1, 4) == 12
def test_chance_score(): assert Yatzy.chance(2, 3, 4, 5, 1) == 15 assert Yatzy.chance(3, 3, 4, 5, 1) == 16 assert Yatzy.chance(1, 3, 2, 5, 5) == 16 assert Yatzy.chance(1, 1, 1, 5, 1) == 9 assert Yatzy.chance(2, 2, 4, 5, 2) == 15 assert Yatzy.chance(6, 6, 4, 6, 6) == 28 assert Yatzy.chance(1, 3, 1, 5, 6) == 16
def test_yatzy_scores(): score = 50 assert Yatzy.yatzy(4, 4, 4, 4, 4) == score assert Yatzy.yatzy(6, 6, 6, 6, 6) == score assert Yatzy.yatzy(6, 6, 6, 6, 3) == 0 assert Yatzy.yatzy(1, 1, 1, 1, 1) == score assert Yatzy.yatzy(2, 2, 2, 2, 2) == score assert Yatzy.yatzy(3, 3, 3, 3, 3) == score assert Yatzy.yatzy(5, 5, 5, 5, 5) == score
def test_twos(): assert Yatzy.twos(1, 2, 3, 2, 6) == 4 assert Yatzy.twos(2, 2, 2, 2, 2) == 10 assert Yatzy.twos(3, 2, 2, 2, 5) == 6 assert Yatzy.twos(2, 2, 2, 2, 3) == 8 assert Yatzy.twos(4, 1, 2, 6, 3) == 2 assert Yatzy.twos(6, 3, 3, 4, 5) == 0
def test_threes(): assert Yatzy.threes(1, 2, 3, 2, 3) == 6 assert Yatzy.threes(2, 3, 3, 3, 3) == 12 assert Yatzy.threes(2, 1, 3, 1, 4) == 3 assert Yatzy.threes(2, 3, 3, 3, 5) == 9 assert Yatzy.threes(2, 5, 6, 1, 1) == 0 assert Yatzy.threes(3, 3, 3, 3, 3) == 15
def test_fours(): assert Yatzy(4, 4, 4, 5, 5).fours() == 12 assert Yatzy(4, 4, 5, 5, 5).fours() == 8 assert Yatzy(4, 5, 5, 3, 6).fours() == 4 assert Yatzy(4, 4, 5, 4, 4).fours() == 16 assert Yatzy(4, 4, 4, 4, 4).fours() == 20 assert Yatzy(1, 5, 3, 2, 6).fours() == 0
def test_fives(): assert Yatzy(4, 4, 4, 5, 5).fives() == 10 assert Yatzy(4, 4, 5, 5, 5).fives() == 15 assert Yatzy(4, 5, 5, 5, 5).fives() == 20 assert Yatzy(5, 5, 5, 5, 5).fives() == 25 assert Yatzy(4, 5, 3, 2, 6).fives() == 5 assert Yatzy(4, 1, 2, 6, 4).fives() == 0
def test_sixes(): assert Yatzy(4, 4, 4, 5, 5).sixes() == 0 assert Yatzy(4, 4, 6, 5, 5).sixes() == 6 assert Yatzy(6, 5, 6, 6, 5).sixes() == 18 assert Yatzy(6, 6, 6, 6, 5).sixes() == 24 assert Yatzy(6, 6, 6, 6, 6).sixes() == 30 assert Yatzy(2, 3, 2, 6, 6).sixes() == 12
def test_ones(): assert Yatzy.ones(1, 2, 3, 4, 5) == 1 assert Yatzy.ones(1, 2, 1, 4, 5) == 2 assert Yatzy.ones(6, 2, 2, 4, 5) == 0 assert Yatzy.ones(1, 2, 1, 1, 1) == 4 assert Yatzy.ones(1, 1, 1, 1, 1) == 5 assert Yatzy.ones(1, 2, 1, 1, 2) == 3
def test_small_straight(): score = 15 assert Yatzy.small_straight(1, 2, 3, 4, 5) == score assert Yatzy.small_straight(2, 3, 4, 5, 1) == score assert Yatzy.small_straight(1, 2, 5, 4, 3) == score assert Yatzy.small_straight(2, 1, 3, 5, 4) == score assert Yatzy.small_straight(5, 4, 3, 2, 1) == score assert Yatzy.small_straight(1, 6, 6, 5, 1) == 0
def test_large_straight(): score = 20 assert Yatzy.large_straight(6, 2, 3, 4, 5) == score assert Yatzy.large_straight(2, 3, 4, 5, 6) == score assert Yatzy.large_straight(3, 5, 2, 6, 4) == score assert Yatzy.large_straight(6, 2, 5, 3, 4) == score assert Yatzy.large_straight(5, 6, 3, 4, 2) == score assert Yatzy.large_straight(1, 2, 2, 4, 5) == 0
def test_yatzy(): assert 50 == Yatzy.yatzy([4, 4, 4, 4, 4]) assert 50 == Yatzy.yatzy([6, 6, 6, 6, 6]) assert 0 == Yatzy.yatzy([6, 6, 6, 6, 3])
def test_twos(): assert 4 == Yatzy.twos([1, 2, 3, 2, 6]) assert 10 == Yatzy.twos([2, 2, 2, 2, 2])
def test_threes(): assert 6 == Yatzy.threes([1, 2, 3, 2, 3]) assert 12 == Yatzy.threes([2, 3, 3, 3, 3])
def test_one_pair(): assert Yatzy.score_pair(3, 4, 3, 5, 6) == 6 assert Yatzy.score_pair(5, 3, 3, 3, 5) == 10 assert Yatzy.score_pair(5, 3, 6, 6, 1) == 12 assert Yatzy.score_pair(1, 3, 6, 1, 5) == 2 assert Yatzy.score_pair(2, 2, 4, 6, 1) == 4
def test_fours(): assert 12 == Yatzy.fours([4, 4, 4, 5, 5]) assert 8 == Yatzy.fours([4, 4, 5, 5, 5]) assert 4 == Yatzy.fours([4, 5, 5, 5, 5])
def test_fives(): assert 10 == Yatzy.fives([4, 4, 4, 5, 5]) assert 15 == Yatzy.fives([4, 4, 5, 5, 5]) assert 20 == Yatzy.fives([4, 5, 5, 5, 5])
def test_sixes(): assert 0 == Yatzy.sixes([4, 4, 4, 5, 5]) assert 6 == Yatzy.sixes([4, 4, 6, 5, 5]) assert 18 == Yatzy.sixes([6, 5, 6, 6, 5])
def test_chance(): assert 15 == Yatzy.chance([2, 3, 4, 5, 1]) assert 16 == Yatzy.chance([3, 3, 4, 5, 1])
def test_three_of_a_kind(): assert 18 == Yatzy.three_of_a_kind([3, 3, 3, 4, 5]) assert 22 == Yatzy.three_of_a_kind([5, 3, 5, 4, 5]) assert 17 == Yatzy.three_of_a_kind([3, 3, 3, 3, 5])
def test_four_of_a_kind(): assert 17 == Yatzy.four_of_a_kind([3, 3, 3, 3, 5]) assert 24 == Yatzy.four_of_a_kind([5, 5, 5, 4, 5]) assert 15 == Yatzy.four_of_a_kind([3, 3, 3, 3, 3]) assert 0 == Yatzy.four_of_a_kind([3, 3, 3, 2, 1])
def test_small_straight(): assert 30 == Yatzy.small_straight([1, 2, 3, 4, 5]) assert 30 == Yatzy.small_straight([2, 3, 4, 5, 1]) assert 0 == Yatzy.small_straight([1, 2, 2, 4, 5])
def test_full_house(): assert Yatzy.full_house(6, 2, 2, 2, 6) == 18 assert Yatzy.full_house(2, 3, 4, 5, 6) == 0 assert Yatzy.full_house(2, 2, 2, 5, 5) == 16 assert Yatzy.full_house(1, 3, 3, 1, 1) == 9 assert Yatzy.full_house(6, 6, 5, 5, 6) == 28
def test_aces(): assert 1 == Yatzy.aces([1, 2, 3, 4, 5]) assert 2 == Yatzy.aces([1, 2, 1, 4, 5]) assert 0 == Yatzy.aces([6, 2, 2, 4, 5]) assert 4 == Yatzy.aces([1, 2, 1, 1, 1])
def test_large_straight(): assert 40 == Yatzy.large_straight([6, 2, 3, 4, 5]) assert 40 == Yatzy.large_straight([2, 3, 4, 5, 6]) assert 0 == Yatzy.large_straight([1, 2, 2, 4, 5])
def test_full_house(): assert 25 == Yatzy.full_house([6, 2, 2, 2, 6]) assert 25 == Yatzy.full_house([3, 3, 3, 4, 4]) assert 0 == Yatzy.full_house([2, 3, 4, 5, 6])