def test_group_by_f_even(self): res = solution.group_by_f(lambda a: a % 2 == 0, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) even_nums = map(lambda elem: elem in res[True], [2, 4, 6, 8, 10]) odd_nums = map(lambda elem: elem in res[False], [1, 3, 5, 7, 9]) self.assertTrue(all(even_nums)) self.assertTrue(all(odd_nums))
def test_function_with_standard_len_function(self): true_result = group_by_f( len, [[1], [7, 8], [1, 2, 3, 4], [4], ["random", "words"]]) expected_result = { 1: [[1], [4]], 2: [[7, 8], ['random', 'words']], 4: [[1, 2, 3, 4]] } self.assertEqual(true_result, expected_result)
def test_group_by_f_len(self): res = solution.group_by_f( len, [[1], [7, 8], [1, 2, 3, 4], [4], ["random", "words"]]) len_1 = map(lambda elem: elem in res[1], [[1], [4]]) len_2 = map(lambda elem: elem in res[2], [[7, 8], ['random', 'words']]) len_4 = map(lambda elem: elem in res[4], [[1, 2, 3, 4]]) self.assertTrue(all(len_1)) self.assertTrue(all(len_2)) self.assertTrue(all(len_4))
def test_function_with_lambda_function(self): true_result = group_by_f(lambda a: a % 2 == 0, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) expected_result = {False: [1, 3, 5, 7, 9], True: [2, 4, 6, 8, 10]} self.assertEqual(true_result, expected_result)
def test_group_by_f_empty_list(self): self.assertEqual(solution.group_by_f(len, []), {})