def testDoify(self):
        """
        Test the doify decorator
        """
        console.terse("{0}\n".format(self.testDoify.__doc__))
        @doing.doify("BlackSmith")
        def blackened(self, x=3, y=2):
            """
            Doer action method
            """
            z = x + y
            return (self, z)

        self.assertIn("BlackSmith", doing.Doer.Registry)
        actor, inits, ioinits, parms = doing.Doer.__fetch__("BlackSmith")
        self.assertIs(actor._Parametric, False)
        self.assertDictEqual(actor.Inits, {})
        self.assertDictEqual(actor.Ioinits, {})
        self.assertDictEqual(actor.Parms, {})
        self.assertDictEqual(inits, {})
        self.assertDictEqual(ioinits, {})
        self.assertDictEqual(parms, {})

        actor = actor()  # create instance
        self.assertIsInstance(actor, doing.Doer )
        self.assertEqual(actor.__class__.__name__, "BlackSmith")
        if sys.version > '3':
            self.assertEqual(actor.action.__self__.__class__.__name__, "BlackSmith")
            self.assertIs(actor.action.__func__, blackened)
            self.assertIs(actor.action.__self__, actor)
        else:
            self.assertEqual(actor.action.im_class.__name__, "BlackSmith")
            self.assertIs(actor.action.im_func, blackened)
            self.assertIs(actor.action.im_self, actor)
        self.assertEqual(actor.action.__doc__, '\n            Doer action method\n            ')
        self.assertEqual(actor.action.__name__, 'blackened')

        me, z = actor()  # perform action
        self.assertIs(me, actor)
        self.assertEqual(z, 5)
dataset/ETHPy150Open ioflo/ioflo/ioflo/base/test/test_acting.py/BasicTestCase.testDoify/original