diff options
Diffstat (limited to 'tests/utils_tests')
| -rw-r--r-- | tests/utils_tests/test_inspect.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/utils_tests/test_inspect.py b/tests/utils_tests/test_inspect.py new file mode 100644 index 0000000000..88a9fb0d74 --- /dev/null +++ b/tests/utils_tests/test_inspect.py @@ -0,0 +1,35 @@ +import unittest + +from django.utils import inspect + + +class Person(object): + def no_arguments(self): + return None + + def one_argument(self, something): + return something + + def just_args(self, *args): + return args + + def all_kinds(self, name, address='home', age=25, *args, **kwargs): + return kwargs + + +class TestInspectMethods(unittest.TestCase): + def test_get_func_full_args_no_arguments(self): + self.assertEqual(inspect.get_func_full_args(Person.no_arguments), []) + + def test_get_func_full_args_one_argument(self): + self.assertEqual(inspect.get_func_full_args(Person.one_argument), [('something',)]) + + def test_get_func_full_args_all_arguments(self): + arguments = [('name',), ('address', 'home'), ('age', 25), ('*args',), ('**kwargs',)] + self.assertEqual(inspect.get_func_full_args(Person.all_kinds), arguments) + + def test_func_accepts_var_args_has_var_args(self): + self.assertEqual(inspect.func_accepts_var_args(Person.just_args), True) + + def test_func_accepts_var_args_no_var_args(self): + self.assertEqual(inspect.func_accepts_var_args(Person.one_argument), False) |
