def test_method(self): class f(object): def method(self, a, b, c): pass f = f().method self.assertEqual(positional_args(f), ['a', 'b', 'c'])
def test___call__(self): class f(object): def __call__(self, a, b, c): pass f = f() self.assertEqual(positional_args(f), ['a', 'b', 'c'])
def test_func(self): def f(a, b, c): pass self.assertEqual(positional_args(f), ['a', 'b', 'c']) def f(a, b, c, d=1): pass self.assertEqual(positional_args(f), ['a', 'b', 'c']) def f(a, b, c, **kw): pass self.assertEqual(positional_args(f), ['a', 'b', 'c']) def f(*args): pass self.assertEqual(positional_args(f), []) def f(*args, **kw): pass self.assertEqual(positional_args(f), []) def f(a, b, c, *args): pass self.assertEqual(positional_args(f), ['a', 'b', 'c']) def f(a, b, c, *args, **kw): pass self.assertEqual(positional_args(f), ['a', 'b', 'c'])
def test_lambda(self): f = lambda a, b, c: None self.assertEqual(positional_args(f), ['a', 'b', 'c']) f = lambda a, b, c, d=1: None self.assertEqual(positional_args(f), ['a', 'b', 'c']) f = lambda a, b, c, **kw: None self.assertEqual(positional_args(f), ['a', 'b', 'c']) f = lambda *args: None self.assertEqual(positional_args(f), []) f = lambda *args, **kw: None self.assertEqual(positional_args(f), []) f = lambda a, b, c, *args: None self.assertEqual(positional_args(f), ['a', 'b', 'c']) f = lambda a, b, c, *args, **kw: None self.assertEqual(positional_args(f), ['a', 'b', 'c'])
def test_type(self): class f(object): def __init__(self, a, b, c): pass self.assertEqual(positional_args(f), ['a', 'b', 'c'])