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
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
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