예제 #1
0
 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))
예제 #2
0
    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)
예제 #3
0
    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))
예제 #4
0
    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)
예제 #5
0
 def test_group_by_f_empty_list(self):
     self.assertEqual(solution.group_by_f(len, []), {})