def test_multiple_arg_and_kw(self):
     """ Does a function with two positional and two keyword arg work?
     """
     def func(a, b, c=1,d=2):
         pass
     args, kw, arg_ordered = function_arguments(func)
     self.assertEqual(args,('a','b'))
     self.assertEqual(kw,{'c':1,'d':2})
     self.assertEqual(arg_ordered,('a','b','c','d'))
 def test_single_arg_and_kw(self):
     """ Does a function with one positional and one keyword arg work?
     """
     def func(a, b=1):
         pass
     args, kw, arg_ordered = function_arguments(func)
     self.assertEqual(args,('a',))
     self.assertEqual(kw,{'b':1})
     self.assertEqual(arg_ordered,('a','b'))
 def test_multiple_kw(self):
     """ Does a function with multiple keyword arguments work?
     """
     def func(a=1,b=2):
         pass
     args, kw, arg_ordered = function_arguments(func)
     self.assertEqual(args,())
     self.assertEqual(kw,{'a':1,'b':2})
     self.assertEqual(arg_ordered,('a','b'))
 def test_single_kw(self):
     """ Does a function with a single keyword argument work?
     """
     def func(a=1):
         pass
     args, kw, arg_ordered = function_arguments(func)
     self.assertEqual(args,())
     self.assertEqual(kw,{'a':1})
     self.assertEqual(arg_ordered,('a',))
 def test_multiple(self):
     """ Does a function with multiple positional argument work?
     """
     def func(a,b,c):
         pass
     args, kw, arg_ordered = function_arguments(func)
     self.assertEqual(args,('a','b','c'))
     self.assertEqual(kw,{})
     self.assertEqual(arg_ordered,('a','b','c'))
 def test_single(self):
     """ Does a function with a single positional argument work?
     """
     def func(value):
         pass
     args, kw, arg_ordered = function_arguments(func)
     self.assertEqual(args,('value',))
     self.assertEqual(kw,{})
     self.assertEqual(arg_ordered,('value',))