Ejemplo n.º 1
0
def test_round_robin_uneven():
    """Testing the round robin function to assure proper output"""
    lst = [
        ["Dan", True, True, True],
        ["Jesse", True, True, True],
        ["Austin", False, False, False],
        ["Nick", True, True, True],
        ["Nikki", False, False, False],
        ["Maria", False, False, False],
        ["Jeff", False, False, False],
        ["Simon", False, False, False],
        ["Jon", False, False, False],
        ["Angie", False, False, False],
        ["Izaak", False, False, False],
        ["Jacob", False, False, False],
    ]
    num_group = 4
    actual_output = group_creation.group_rrobin_num_group(lst, num_group)
    assert len(actual_output) == 4
    assert len(actual_output[0]) == len(lst) / num_group
    counter = 0
    if actual_output[0][0][1] is True:
        counter += 1
    if actual_output[1][0][1] is True:
        counter += 1
    if actual_output[2][0][1] is True:
        counter += 1
    if actual_output[3][0][1] is True:
        counter += 1
    assert counter == 3
Ejemplo n.º 2
0
def input_interface(
    students,
    method=None,
    num_group=None,
    preferences=None,
    preferences_weight=None,
    preferences_weight_match=None,
    objective_weights=None,
    objective_measures=None,
):
    """ Run conditional logic statment to ran different methods """
    students_reshuffle = group_creation.shuffle_students(students)
    if method == constants.ALGORITHM_ROUND_ROBIN:
        # Note that this only checks the first student
        if len(students_reshuffle[0]) < 2:
            grouped_students = group_creation.group_random_num_group(
                students_reshuffle, num_group)
        else:
            grouped_students = group_creation.group_rrobin_num_group(
                students_reshuffle, num_group)
    elif method == constants.ALGORITHM_GRAPH:
        grouped_students = group_graph.group_graph_partition(
            students_reshuffle,
            num_group,
            preferences=preferences,
            preferences_weight=preferences_weight,
            preferences_weight_match=preferences_weight_match,
            objective_weights=objective_weights,
            objective_measures=objective_measures,
        )
    else:
        grouped_students = group_creation.group_random_num_group(
            students_reshuffle, num_group)
    return grouped_students
Ejemplo n.º 3
0
def test_hypothesis_rrobin_responses(numgrps):
    """Testing the grouping function according to responses with hypothesis"""
    lst = [
        ["Dan", True, True, True],
        ["Jesse", True, True, True],
        ["Austin", True, True, True],
        ["Nick", False, False, False],
        ["Nikki", False, False, False],
        ["Maria", False, False, False],
        ["Jeff", False, False, False],
        ["Simon", False, False, False],
        ["Jon", False, False, False],
        ["Angie", False, False, False],
        ["Izaak", False, False, False],
        ["Jacob", False, False, False],
    ]
    grpsize = len(lst) // numgrps
    response_output = group_creation.group_rrobin_num_group(lst, numgrps)
    assert len(response_output[0]) == grpsize
    assert len(response_output) == numgrps
    assert response_output[0][0][1] is True
    assert response_output[1][0][1] is True
    assert response_output[2][0][1] is True