[Python-checkins] CVS: python/dist/src/Lib/test test_descr.py,1.1.2.23,1.1.2.24

Guido van Rossum gvanrossum@users.sourceforge.net
Mon, 02 Jul 2001 18:19:22 -0700


Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv24191

Modified Files:
      Tag: descr-branch
	test_descr.py 
Log Message:
Add tests for class methods -- both for built-in and classic classes.


Index: test_descr.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/Attic/test_descr.py,v
retrieving revision 1.1.2.23
retrieving revision 1.1.2.24
diff -C2 -r1.1.2.23 -r1.1.2.24
*** test_descr.py	2001/06/29 16:38:38	1.1.2.23
--- test_descr.py	2001/07/03 01:19:20	1.1.2.24
***************
*** 616,619 ****
--- 616,653 ----
          verify(0, "__slots__ = [1] should be illegal")
  
+ def classmethods():
+     if verbose: print "Testing class methods..."
+     class C(object):
+         def foo(*a): return a
+         goo = classmethod(foo)
+     verify(C.goo(1) == (C, 1))
+     c = C()
+     verify(c.goo(1) == (C, 1))
+     verify(c.foo(1) == (c, 1))
+     class D(C):
+         pass
+     d = D()
+     verify(D.goo(1) == (D, 1))
+     verify(d.goo(1) == (D, 1))
+     verify(d.foo(1) == (d, 1))
+     verify(D.foo(d, 1) == (d, 1))
+ 
+ def classic():
+     if verbose: print "Testing classic classes..."
+     class C:
+         def foo(*a): return a
+         goo = classmethod(foo)
+     verify(C.goo(1) == (C, 1))
+     c = C()
+     verify(c.goo(1) == (C, 1))
+     verify(c.foo(1) == (c, 1))
+     class D(C):
+         pass
+     d = D()
+     verify(D.goo(1) == (D, 1))
+     verify(d.goo(1) == (D, 1))
+     verify(d.foo(1) == (d, 1))
+     verify(D.foo(d, 1) == (d, 1))
+ 
  def all():
      lists()
***************
*** 635,638 ****
--- 669,674 ----
      dynamics()
      errors()
+     classmethods()
+     classic()
  
  all()