[Python-checkins] r53851 - sandbox/trunk/pep362/pep362.py sandbox/trunk/pep362/test_pep362.py

brett.cannon python-checkins at python.org
Thu Feb 22 01:15:56 CET 2007


Author: brett.cannon
Date: Thu Feb 22 01:15:54 2007
New Revision: 53851

Modified:
   sandbox/trunk/pep362/pep362.py
   sandbox/trunk/pep362/test_pep362.py
Log:
Get code back into shape so that it passes all unit tests again.


Modified: sandbox/trunk/pep362/pep362.py
==============================================================================
--- sandbox/trunk/pep362/pep362.py	(original)
+++ sandbox/trunk/pep362/pep362.py	Thu Feb 22 01:15:54 2007
@@ -1,3 +1,6 @@
+import inspect
+
+
 class BindError(TypeError):
     """Represent a failure of inspect.Signature.bind() being able to to
     determine if a binding of arguments to parameters is possible."""
@@ -64,7 +67,7 @@
             func = func.im_func
         self.name = func.__name__
 
-        argspec = getargspec(func)
+        argspec = inspect.getargspec(func)
 
         self.var_args = argspec[1] if (argspec[1] is not None)  else ''
         self.var_kw_args = argspec[2] if (argspec[2] is not None) else ''

Modified: sandbox/trunk/pep362/test_pep362.py
==============================================================================
--- sandbox/trunk/pep362/test_pep362.py	(original)
+++ sandbox/trunk/pep362/test_pep362.py	Thu Feb 22 01:15:54 2007
@@ -1,3 +1,9 @@
+import pep362
+
+import unittest
+from test import test_support
+import pep362_fodder
+
 class ParameterObjectTests(unittest.TestCase):
 
     """Test the Parameter object."""
@@ -6,61 +12,61 @@
         # Test that 'name' attribute works.
         # Must test both using a string and a tuple of strings.
         name = "test"
-        param = inspect.Parameter(name, 0, False)
+        param = pep362.Parameter(name, 0, False)
         self.failUnlessEqual(param.name, name)
         name = ('a', ('b',))
-        param = inspect.Parameter(name, 0, False)
+        param = pep362.Parameter(name, 0, False)
         self.failUnlessEqual(param.name, name)
 
     def test_position(self):
         # Test the 'position' attribute.
         pos = 42
-        param = inspect.Parameter("_", pos, False)
+        param = pep362.Parameter("_", pos, False)
         self.failUnlessEqual(param.position, pos)
 
     def test_has_default(self):
         # Test the 'has_default' attribute.
         # Testing that 'default_value' is not set is handled in the testing of
         # that attribute.
-        param = inspect.Parameter('_', 0, True, None)
+        param = pep362.Parameter('_', 0, True, None)
         self.failUnlessEqual(param.has_default, True)
-        param = inspect.Parameter('_', 0, False)
+        param = pep362.Parameter('_', 0, False)
         self.failUnlessEqual(param.has_default, False)
-        self.failUnlessRaises(TypeError, inspect.Parameter,
+        self.failUnlessRaises(TypeError, pep362.Parameter,
                                 ('_', 0, False, 'extra arg'))
-        self.failUnlessRaises(TypeError, inspect.Parameter,
+        self.failUnlessRaises(TypeError, pep362.Parameter,
                                 ('_', 0, True))
-        self.failUnlessRaises(TypeError, inspect.Parameter,
+        self.failUnlessRaises(TypeError, pep362.Parameter,
                                 ('_', 0, True, 'default', 'extra'))
         
     def test_default_value(self):
         # Test the 'default_value' attribute.
         # Make sure that if has_default is set to False that default_value is
         # not defined.
-        param = inspect.Parameter('_', 0, False)
+        param = pep362.Parameter('_', 0, False)
         self.failUnless(not hasattr(param, 'default_value'))
         default = 42
-        param = inspect.Parameter('_', 0, True, default)
+        param = pep362.Parameter('_', 0, True, default)
         self.failUnlessEqual(param.default_value, default)
 
     def test_str(self):
         # Test __str__().
         name = "X"
-        param = inspect.Parameter(name, 0, False)
+        param = pep362.Parameter(name, 0, False)
         self.failUnlessEqual(name, str(param))
         default_value = 42
-        param = inspect.Parameter(name, 0, True, default_value)
+        param = pep362.Parameter(name, 0, True, default_value)
         self.failUnlessEqual("%s=%s" % (name, default_value), str(param))
 
     def test_repr(self):
         # Test __repr__().
         name = "X"
         pos = 0
-        param = inspect.Parameter(name, pos, False)
+        param = pep362.Parameter(name, pos, False)
         self.failUnlessEqual("Parameter(%r, %r, False)" % (name, pos),
                                 repr(param))
         default_value = 42
-        param = inspect.Parameter(name, pos, True, default_value)
+        param = pep362.Parameter(name, pos, True, default_value)
         self.failUnlessEqual("Parameter(%r, %r, True, %r)" %
                                 (name, pos, default_value),
                              repr(param))
@@ -70,7 +76,7 @@
 
     def test_no_args(self):
         # Test a function with no arguments.
-        sig = inspect.Signature(mod.no_args)
+        sig = pep362.Signature(pep362_fodder.no_args)
         self.failUnlessEqual('no_args', sig.name)
         self.failUnless(not sig.var_args)
         self.failUnless(not sig.var_kw_args)
@@ -78,23 +84,23 @@
 
     def test_var_args(self):
         # Test the var_args attribute.
-        sig = inspect.Signature(mod.var_args)
+        sig = pep362.Signature(pep362_fodder.var_args)
         self.failUnlessEqual('args', sig.var_args)
         self.failUnlessEqual(0, len(sig.parameters))
-        sig = inspect.Signature(mod.no_args)
+        sig = pep362.Signature(pep362_fodder.no_args)
         self.failUnlessEqual('', sig.var_args)
 
     def test_var_kw_args(self):
         # Test the var_kw_args attribute.
-        sig = inspect.Signature(mod.var_kw_args)
+        sig = pep362.Signature(pep362_fodder.var_kw_args)
         self.failUnlessEqual('var_kw_args', sig.name)
         self.failUnlessEqual('kwargs', sig.var_kw_args)
         self.failUnlessEqual(0, len(sig.parameters))
-        sig = inspect.Signature(mod.no_args)
+        sig = pep362.Signature(pep362_fodder.no_args)
         self.failUnlessEqual('', sig.var_kw_args)
 
     def test_parameter_positional(self):
-        sig = inspect.Signature(mod.no_default_args)
+        sig = pep362.Signature(pep362_fodder.no_default_args)
         self.failUnlessEqual('no_default_args', sig.name)
         param = sig.parameters[0]
         self.failUnlessEqual('a', param.name)
@@ -103,7 +109,7 @@
         self.failUnless(not hasattr(param, 'default_value'))
 
     def test_parameter_default(self):
-        sig = inspect.Signature(mod.default_args)
+        sig = pep362.Signature(pep362_fodder.default_args)
         self.failUnlessEqual('default_args', sig.name)
         param = sig.parameters[0]
         self.failUnlessEqual('a', param.name)
@@ -112,7 +118,7 @@
         self.failUnlessEqual(42, param.default_value)
 
     def test_parameter_tuple(self):
-        sig = inspect.Signature(mod.tuple_args)
+        sig = pep362.Signature(pep362_fodder.tuple_args)
         self.failUnlessEqual('tuple_args', sig.name)
         param = sig.parameters[0]
         self.failUnless(isinstance(param.name, tuple))
@@ -122,7 +128,7 @@
         self.failUnless(not hasattr(param, 'default_value'))
 
     def test_parameter_tuple_default(self):
-        sig = inspect.Signature(mod.default_tuple_args)
+        sig = pep362.Signature(pep362_fodder.default_tuple_args)
         self.failUnlessEqual('default_tuple_args', sig.name)
         param = sig.parameters[0]
         self.failUnlessEqual(('a', ('b',)), param.name)
@@ -131,42 +137,42 @@
         self.failUnlessEqual((1, (2,)), param.default_value)
 
     def test_positioning(self):
-        sig = inspect.Signature(mod.all_args)
+        sig = pep362.Signature(pep362_fodder.all_args)
         param = sig.parameters[2]
         self.failUnlessEqual('d', param.name)
 
-    def test_getsignature(self):
+    def test_signature(self):
         def fresh_func():
             pass
         self.failUnless(not hasattr(fresh_func, '__signature__'))
-        sig = inspect.getsignature(fresh_func)
+        sig = pep362.signature(fresh_func)
         self.failUnlessEqual(sig, fresh_func.__signature__)
-        sig2 = inspect.getsignature(fresh_func)
+        sig2 = pep362.signature(fresh_func)
         self.failUnlessEqual(sig, sig2)
         class FreshClass(object):
             def fresh_method(self):
                 pass
-        sig = inspect.getsignature(FreshClass.fresh_method)
+        sig = pep362.signature(FreshClass.fresh_method)
         self.failUnlessEqual(sig, FreshClass.fresh_method.im_func.__signature__)
 
     def test_str(self):
         # Test __str__().
-        sig = inspect.Signature(mod.no_args)
+        sig = pep362.Signature(pep362_fodder.no_args)
         self.failUnlessEqual("no_args()", str(sig))
-        sig = inspect.Signature(mod.var_args)
+        sig = pep362.Signature(pep362_fodder.var_args)
         self.failUnlessEqual("var_args(*args)", str(sig))
-        sig = inspect.Signature(mod.var_kw_args)
+        sig = pep362.Signature(pep362_fodder.var_kw_args)
         self.failUnlessEqual("var_kw_args(**kwargs)", str(sig))
-        sig = inspect.Signature(mod.default_args)
+        sig = pep362.Signature(pep362_fodder.default_args)
         self.failUnlessEqual("default_args(a=42)", str(sig))
-        sig = inspect.Signature(mod.no_default_args)
+        sig = pep362.Signature(pep362_fodder.no_default_args)
         self.failUnlessEqual("no_default_args(a)", str(sig))
-        sig = inspect.Signature(mod.tuple_args)
+        sig = pep362.Signature(pep362_fodder.tuple_args)
         self.failUnlessEqual("tuple_args((a, (b,)))", str(sig))
-        sig = inspect.Signature(mod.default_tuple_args)
+        sig = pep362.Signature(pep362_fodder.default_tuple_args)
         self.failUnlessEqual("default_tuple_args((a, (b,))=(1, (2,)))",
                              str(sig))
-        sig = inspect.Signature(mod.all_args)
+        sig = pep362.Signature(pep362_fodder.all_args)
         self.failUnlessEqual("all_args(a, (b, (c,)), d=0, "
                                "(e, (f,))=(1, (2,)), *g, **h)",
                              str(sig))
@@ -176,14 +182,14 @@
     """Test Signature.bind()."""
 
     def test_no_parameters(self):
-        sig = inspect.Signature(mod.no_args)
+        sig = pep362.Signature(pep362_fodder.no_args)
         binding = sig.bind()
         self.failUnlessEqual({}, binding)
         self.failUnlessRaises(TypeError, sig.bind, 42)
         self.failUnlessRaises(TypeError, sig.bind, a=0)
 
     def test_var_parameters(self):
-        sig = inspect.Signature(mod.var_args)
+        sig = pep362.Signature(pep362_fodder.var_args)
         binding = sig.bind(0, 1, 2)
         self.failUnlessEqual({'args':(0, 1, 2)}, binding)
         binding = sig.bind()
@@ -191,7 +197,7 @@
         self.failUnlessRaises(TypeError, sig.bind, a=0)
 
     def test_var_kw_parameters(self):
-        sig = inspect.Signature(mod.var_kw_args)
+        sig = pep362.Signature(pep362_fodder.var_kw_args)
         binding = sig.bind(a=0)
         self.failUnlessEqual({'kwargs':{'a':0}}, binding)
         binding = sig.bind()
@@ -199,7 +205,7 @@
         self.failUnlessRaises(TypeError, sig.bind, 42)
 
     def test_positional_parameters(self):
-        sig = inspect.Signature(mod.no_default_args)
+        sig = pep362.Signature(pep362_fodder.no_default_args)
         binding = sig.bind(42)
         self.failUnlessEqual({'a':42}, binding)
         binding = sig.bind(a=42)
@@ -209,7 +215,7 @@
         self.failUnlessRaises(TypeError, sig.bind, b=0)
 
     def test_keyword_parameters(self):
-        sig = inspect.Signature(mod.default_args)
+        sig = pep362.Signature(pep362_fodder.default_args)
         binding = sig.bind(0)
         self.failUnlessEqual({'a':0}, binding)
         binding = sig.bind()
@@ -221,7 +227,7 @@
         self.failUnlessRaises(TypeError, sig.bind, b=1)
 
     def test_tuple_parameter(self):
-        sig = inspect.Signature(mod.tuple_args)
+        sig = pep362.Signature(pep362_fodder.tuple_args)
         binding = sig.bind((1, (2,)))
         self.failUnlessEqual({('a', ('b',)):(1, (2,))}, binding)
         arg = (1, ((2,),))
@@ -231,7 +237,7 @@
         self.failUnlessRaises(TypeError, sig.bind, (1, 2))
 
     def test_default_tuple_parameter(self):
-        sig = inspect.Signature(mod.default_tuple_args)
+        sig = pep362.Signature(pep362_fodder.default_tuple_args)
         binding = sig.bind()
         self.failUnlessEqual({('a', ('b',)):(1, (2,))}, binding)
         arg = (0, (1,))
@@ -239,7 +245,7 @@
         self.failUnlessEqual({('a', ('b',)):arg}, binding)
 
     def test_all_parameter_types(self):
-        sig = inspect.Signature(mod.all_args)
+        sig = pep362.Signature(pep362_fodder.all_args)
         binding = sig.bind(0, (1, (2,)), 3, (4, (5,)), 6, i=7)
         expected = {'a':0, ('b', ('c',)):(1, (2,)), 'd':3,
                 ('e', ('f',)):(4, (5,)), 'g':(6,), 'h':{'i':7}}
@@ -249,7 +255,15 @@
         def gen():
             yield 0
             yield (1,)
-        sig = inspect.Signature(mod.tuple_args)
-        self.failUnlessRaises(inspect.BindError, sig.bind, gen())
+        sig = pep362.Signature(pep362_fodder.tuple_args)
+        self.failUnlessRaises(pep362.BindError, sig.bind, gen())
+
+
+def test_main():
+    test_support.run_unittest(ParameterObjectTests,
+                                SignatureObjectTests,
+                             )
 
 
+if __name__ == '__main__':
+    test_main()


More information about the Python-checkins mailing list