def test_get_2_elements_complex(self):
        k = 2
        key_fn_2 = lambda x: x["arg2"]
        result_2_list = get_topk(self.complex_list, k, key_fn_2)
        self.assertListEqual(result_2_list, [self.item5, self.item4])

        key_fn_1 = lambda x: x["arg1"]
        result_1_list = get_topk(self.complex_list, k, key_fn_1)
        self.assertListEqual(result_1_list, [self.item4, self.item3])
 def test_get_3_elements_simple(self):
     k = 3
     result_list = get_topk(self.simple_list, k, self.identity_fn)
     self.assertListEqual(result_list, [5, 4, 3])
 def test_get_more_elements_than_size_simple(self):
     k = len(self.simple_list) + 1
     result_list = get_topk(self.simple_list, k, self.identity_fn)
     self.assertListEqual(result_list, sorted(self.simple_list, reverse=True))