Пример #1
0
    def testGetArgSpecIgnoresDecoratorsThatDontProvideArgspec(self):
        argspec = tf_inspect.ArgSpec(args=['a', 'b', 'c'],
                                     varargs=None,
                                     keywords=None,
                                     defaults=(1, 'hello'))

        inner_decorator = tf_decorator.TFDecorator('',
                                                   test_undecorated_function,
                                                   '', argspec)
        outer_decorator = tf_decorator.TFDecorator('', inner_decorator)
        self.assertEqual(argspec, tf_inspect.getargspec(outer_decorator))
Пример #2
0
  def testGetArgSpecReturnsOutermostDecoratorThatChangesArgspec(self):
    outer_argspec = tf_inspect.ArgSpec(
        args=['a'], varargs=None, keywords=None, defaults=None)
    inner_argspec = tf_inspect.ArgSpec(
        args=['b'], varargs=None, keywords=None, defaults=None)

    inner_decorator = tf_decorator.TFDecorator('', test_undecorated_function,
                                               '', inner_argspec)
    outer_decorator = tf_decorator.TFDecorator('', inner_decorator, '',
                                               outer_argspec)
    self.assertEqual(outer_argspec, tf_inspect.getargspec(outer_decorator))
Пример #3
0
    def testGetFullArgSpecIgnoresDecoratorsThatDontProvideFullArgSpec(self):
        argspec = tf_inspect.FullArgSpec(args=['a', 'b', 'c'],
                                         varargs=None,
                                         varkw=None,
                                         defaults=(1, 'hello'),
                                         kwonlyargs=[],
                                         kwonlydefaults=None,
                                         annotations={})

        inner_decorator = tf_decorator.TFDecorator('',
                                                   test_undecorated_function,
                                                   '', argspec)
        outer_decorator = tf_decorator.TFDecorator('', inner_decorator)
        self.assertEqual(argspec, tf_inspect.getfullargspec(outer_decorator))
Пример #4
0
 def testInitCapturesNonNoneArgspec(self):
     argspec = tf_inspect.ArgSpec(args=['a', 'b', 'c'],
                                  varargs=None,
                                  keywords=None,
                                  defaults=(1, 'hello'))
     self.assertIs(
         argspec,
         tf_decorator.TFDecorator('', test_function, '',
                                  argspec).decorator_argspec)
Пример #5
0
    def testGetArgSpecOnDecoratorThatChangesArgspec(self):
        argspec = tf_inspect.ArgSpec(args=['a', 'b', 'c'],
                                     varargs=None,
                                     keywords=None,
                                     defaults=(1, 'hello'))

        decorator = tf_decorator.TFDecorator('', test_undecorated_function, '',
                                             argspec)
        self.assertEqual(argspec, tf_inspect.getargspec(decorator))
Пример #6
0
    def testGetFullArgSpecOnDecoratorThatChangesFullArgSpec(self):
        argspec = tf_inspect.FullArgSpec(args=['a', 'b', 'c'],
                                         varargs=None,
                                         varkw=None,
                                         defaults=(1, 'hello'),
                                         kwonlyargs=[],
                                         kwonlydefaults=None,
                                         annotations={})

        decorator = tf_decorator.TFDecorator('', test_undecorated_function, '',
                                             argspec)
        self.assertEqual(argspec, tf_inspect.getfullargspec(decorator))
Пример #7
0
  def testGetFullArgSpecReturnsOutermostDecoratorThatChangesFullArgSpec(self):
    outer_argspec = tf_inspect.FullArgSpec(
        args=['a'],
        varargs=None,
        varkw=None,
        defaults=None,
        kwonlyargs=[],
        kwonlydefaults=None,
        annotations={})
    inner_argspec = tf_inspect.FullArgSpec(
        args=['b'],
        varargs=None,
        varkw=None,
        defaults=None,
        kwonlyargs=[],
        kwonlydefaults=None,
        annotations={})

    inner_decorator = tf_decorator.TFDecorator('', test_undecorated_function,
                                               '', inner_argspec)
    outer_decorator = tf_decorator.TFDecorator('', inner_decorator, '',
                                               outer_argspec)
    self.assertEqual(outer_argspec, tf_inspect.getfullargspec(outer_decorator))
Пример #8
0
    def testGetArgSpecOnPartialWithDecoratorThatChangesArgspec(self):
        """Tests getargspec on partial function with decorated argspec."""

        argspec = tf_inspect.ArgSpec(args=['a', 'b', 'c'],
                                     varargs=None,
                                     keywords=None,
                                     defaults=(1, 'hello'))
        decorator = tf_decorator.TFDecorator('', test_undecorated_function, '',
                                             argspec)
        partial_argspec = tf_inspect.ArgSpec(args=['a', 'b', 'c'],
                                             varargs=None,
                                             keywords=None,
                                             defaults=(2, 1, 'hello'))
        partial_with_decorator = functools.partial(decorator, a=2)

        self.assertEqual(argspec, tf_inspect.getargspec(decorator))
        self.assertEqual(partial_argspec,
                         tf_inspect.getargspec(partial_with_decorator))
Пример #9
0
 def testInitCapturesTarget(self):
     self.assertIs(
         test_function,
         tf_decorator.TFDecorator('', test_function).decorated_target)
Пример #10
0
 def make_tf_decorator(target):
     return tf_decorator.TFDecorator(decorator_name, target, decorator_doc)
Пример #11
0
 def testCallingATFDecoratorCallsTheTarget(self):
     self.assertEqual(124, tf_decorator.TFDecorator('', test_function)(123))
Пример #12
0
 def testInitSetsDecoratorDocToTargetDoc(self):
     self.assertEqual('Test Function Docstring.',
                      tf_decorator.TFDecorator('', test_function).__doc__)
Пример #13
0
 def testInitSetsDecoratorNameToTargetName(self):
     self.assertEqual('test_function',
                      tf_decorator.TFDecorator('', test_function).__name__)
Пример #14
0
 class Foo(object):
     foo = tf_decorator.TFDecorator('Descr', Descr())
Пример #15
0
 def testInitCapturesDecoratorName(self):
     self.assertEqual(
         'decorator name',
         tf_decorator.TFDecorator('decorator name',
                                  test_function).decorator_name)
Пример #16
0
 def testInitCapturesDecoratorDoc(self):
     self.assertEqual(
         'decorator doc',
         tf_decorator.TFDecorator('', test_function,
                                  'decorator doc').decorator_doc)
 def testInitSetsDecoratorQualNameToTargetQualName(self):
     if hasattr(tf_decorator.TFDecorator('', test_function),
                '__qualname__'):
         self.assertEqual(
             'test_function',
             tf_decorator.TFDecorator('', test_function).__qualname__)