def test_multi_in_single_out(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)
def test_default_arg_single_out(self): def foo(a, b=2): return a * b d = {"a": 5} dres = adaptor(foo, "c")(d) self.assertEqual(dres["c"], 10) d = {"b": 5} with self.assertRaises(TypeError): dres = adaptor(foo, "c")(d)
def test_dict_out(self): def foo(a): return {"a": a * 2} d = {"a": 2} dres = adaptor(foo, {"a": "a"})(d) self.assertEqual(dres["a"], 4) d = {"b": 2} dres = adaptor(foo, {"a": "b"}, {"b": "a"})(d) self.assertEqual(dres["b"], 4)
def test_default_arg_single_out(self): def foo(a, b=2): return a * b d = {'a': 5} dres = adaptor(foo, 'c')(d) self.assertEqual(dres['c'], 10) d = {'b': 5} with self.assertRaises(TypeError): dres = adaptor(foo, 'c')(d)
def test_dict_out(self): def foo(a): return {'a': a * 2} d = {'a': 2} dres = adaptor(foo, {'a': 'a'})(d) self.assertEqual(dres['a'], 4) d = {'b': 2} dres = adaptor(foo, {'a': 'b'}, {'b': 'a'})(d) self.assertEqual(dres['b'], 4)
def test_multi_out(self): def foo(a, b): return a * b, a / b d = {"a": 3, "b": 4} dres = adaptor(foo, ["c", "d"])(d) self.assertEqual(dres["c"], 12) self.assertEqual(dres["d"], 3 / 4)
def test_multi_out(self): def foo(a, b): return a * b, a / b d = {'a': 3, 'b': 4} dres = adaptor(foo, ['c', 'd'])(d) self.assertEqual(dres['c'], 12) self.assertEqual(dres['d'], 3 / 4)
def test_multi_in_single_out(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)
def test_single_in_single_out(self): def foo(image): return image * 2 it = itertools.product(["image", ["image"]], [None, "image", ["image"], { "image": "image" }]) for i in it: d = {"image": 2} dres = adaptor(foo, i[0], i[1])(d) self.assertEqual(dres["image"], 4) d = {"image": 2} dres = adaptor(foo, "image")(d) self.assertEqual(dres["image"], 4) d = {"image": 2} dres = adaptor(foo, "image", "image")(d) self.assertEqual(dres["image"], 4) d = {"image": 2} dres = adaptor(foo, "image", {"image": "image"})(d) self.assertEqual(dres["image"], 4) d = {"img": 2} dres = adaptor(foo, "img", {"img": "image"})(d) self.assertEqual(dres["img"], 4) d = {"img": 2} dres = adaptor(foo, ["img"], {"img": "image"})(d) self.assertEqual(dres["img"], 4)
def test_single_in_single_out(self): def foo(image): return image * 2 it = itertools.product(['image', ['image']], [None, 'image', ['image'], { 'image': 'image' }]) for i in it: d = {'image': 2} dres = adaptor(foo, i[0], i[1])(d) self.assertEqual(dres['image'], 4) d = {'image': 2} dres = adaptor(foo, 'image')(d) self.assertEqual(dres['image'], 4) d = {'image': 2} dres = adaptor(foo, 'image', 'image')(d) self.assertEqual(dres['image'], 4) d = {'image': 2} dres = adaptor(foo, 'image', {'image': 'image'})(d) self.assertEqual(dres['image'], 4) d = {'img': 2} dres = adaptor(foo, 'img', {'img': 'image'})(d) self.assertEqual(dres['img'], 4) d = {'img': 2} dres = adaptor(foo, ['img'], {'img': 'image'})(d) self.assertEqual(dres['img'], 4)