diff options
Diffstat (limited to 'tests/test_funcsigs.py')
-rw-r--r-- | tests/test_funcsigs.py | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/tests/test_funcsigs.py b/tests/test_funcsigs.py deleted file mode 100644 index eecc0a8..0000000 --- a/tests/test_funcsigs.py +++ /dev/null @@ -1,93 +0,0 @@ -try: - # python 2.x - import unittest2 as unittest -except ImportError: - # python 3.x - import unittest - -import doctest -import sys - -import funcsigs as inspect - - -class TestFunctionSignatures(unittest.TestCase): - - @staticmethod - def signature(func): - sig = inspect.signature(func) - return (tuple((param.name, - (Ellipsis if param.default is param.empty else param.default), - (Ellipsis if param.annotation is param.empty - else param.annotation), - str(param.kind).lower()) - for param in sig.parameters.values()), - (Ellipsis if sig.return_annotation is sig.empty - else sig.return_annotation)) - - def test_zero_arguments(self): - def test(): - pass - self.assertEqual(self.signature(test), - ((), Ellipsis)) - - def test_single_positional_argument(self): - def test(a): - pass - self.assertEqual(self.signature(test), - (((('a', Ellipsis, Ellipsis, "positional_or_keyword")),), Ellipsis)) - - def test_single_keyword_argument(self): - def test(a=None): - pass - self.assertEqual(self.signature(test), - (((('a', None, Ellipsis, "positional_or_keyword")),), Ellipsis)) - - def test_var_args(self): - def test(*args): - pass - self.assertEqual(self.signature(test), - (((('args', Ellipsis, Ellipsis, "var_positional")),), Ellipsis)) - - def test_keywords_args(self): - def test(**kwargs): - pass - self.assertEqual(self.signature(test), - (((('kwargs', Ellipsis, Ellipsis, "var_keyword")),), Ellipsis)) - - def test_multiple_arguments(self): - def test(a, b=None, *args, **kwargs): - pass - self.assertEqual(self.signature(test), (( - ('a', Ellipsis, Ellipsis, "positional_or_keyword"), - ('b', None, Ellipsis, "positional_or_keyword"), - ('args', Ellipsis, Ellipsis, "var_positional"), - ('kwargs', Ellipsis, Ellipsis, "var_keyword"), - ), Ellipsis)) - - def test_has_version(self): - self.assertTrue(inspect.__version__) - - def test_readme(self): - doctest.testfile('../README.rst') - - def test_unbound_method(self): - if sys.version_info < (3,): - self_kind = "positional_only" - else: - self_kind = "positional_or_keyword" - class Test(object): - def method(self): - pass - def method_with_args(self, a): - pass - self.assertEqual(self.signature(Test.method), - (((('self', Ellipsis, Ellipsis, self_kind)),), Ellipsis)) - self.assertEqual(self.signature(Test.method_with_args), (( - ('self', Ellipsis, Ellipsis, self_kind), - ('a', Ellipsis, Ellipsis, "positional_or_keyword"), - ), Ellipsis)) - - -if __name__ == "__main__": - unittest.begin() |