[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()