def test_separate_groups_balanced_smaller_total(): groups = [4, 4, 4] total = 6 overloaded, underloaded = separate_groups(groups, lambda x: x, total) assert overloaded == [4, 4, 4]
def test_separate_groups_balanced_much_greater_total(): groups = [4, 4, 4] total = 20 overloaded, underloaded = separate_groups(groups, lambda x: x, total) assert underloaded == [4, 4, 4]
def test_separate_groups_almost_balanced(): groups = [5, 5, 4] total = 14 overloaded, underloaded = separate_groups(groups, lambda x: x, total) assert overloaded == [5, 5] assert underloaded == [4]
def test_separate_groups_unbalanced(): groups = [4, 4, 3, 2] total = 13 overloaded, underloaded = separate_groups(groups, lambda x: x, total) assert overloaded == [4, 4] assert underloaded == [2, 3]
def test_separate_groups_balanced(): groups = [4, 4, 4] total = 12 overloaded, underloaded = separate_groups(groups, lambda x: x, total) assert not overloaded assert not underloaded