Exemple #1
0
    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)
Exemple #2
0
    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)
Exemple #3
0
    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)
Exemple #4
0
    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)
Exemple #5
0
    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)
Exemple #6
0
    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)
Exemple #7
0
    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)
Exemple #8
0
    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)
Exemple #9
0
    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)
Exemple #10
0
    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)