def test_select_winners_without_weights(mock_separate_prizes, given_number_of_winners, expected_number_of_winners): participants = mock_participant(test_list_of_participants_no_weights) lottery = Lottery(mock_separate_prizes, participants) winners = lottery.select_winners(given_number_of_winners) assert len(winners) == expected_number_of_winners
def test_select_winners_with_weights(mock_separate_prizes): participants = mock_participant(test_list_of_participants_weights) lottery = Lottery(mock_separate_prizes, participants) winners = lottery.select_winners(2) assert len(winners) == 2 assert { "id": "1", "first_name": "Tanny", "last_name": "Bransgrove", "weight": "1" } in winners assert { "id": "2", "first_name": "Delila", "last_name": "Spriggs", "weight": "1" } in winners assert { "id": "3", "first_name": "Sigmund", "last_name": "Saw", "weight": "0" } not in winners