def METHOD_NAME(self):
    def foo(image, label):
        return image * label
    it = itertools.product(["image", ["image"]], [None, ["image", "label"], {"image": "image", "label": "label"}])
    for i in it:
        d = {"image": 2, "label": 3}
        dres = adaptor(foo, i[0], i[1])(d)
        self.assertEqual(dres["image"], 6)
        self.assertEqual(dres["label"], 3)
    it = itertools.product(
        ["newimage", ["newimage"]], [None, ["image", "label"], {"image": "image", "label": "label"}]
    )
    for i in it:
        d = {"image": 2, "label": 3}
        dres = adaptor(foo, i[0], i[1])(d)
        self.assertEqual(dres["image"], 2)
        self.assertEqual(dres["label"], 3)
        self.assertEqual(dres["newimage"], 6)
    it = itertools.product(["img", ["img"]], [{"img": "image", "lbl": "label"}])
    for i in it:
        d = {"img": 2, "lbl": 3}
        dres = adaptor(foo, i[0], i[1])(d)
        self.assertEqual(dres["img"], 6)
        self.assertEqual(dres["lbl"], 3)