Package zope :: Package interface :: Package tests :: Module odd
[show private | hide private]
[frames | no frames]

Module zope.interface.tests.odd

Odd meta class that doesn't subclass type.

This is used for testing support for ExtensionClass in new interfaces.
>>> class A(object):
...     __metaclass__ = MetaClass
...     a = 1
...
>>> A.__name__
'A'

>>> A.__bases__
()

>>> class B(object):
...     __metaclass__ = MetaClass
...     b = 1
...
>>> class C(A, B): pass
...
>>> C.__name__
'C'

>>> int(C.__bases__ == (A, B))
1

>>> a = A()
>>> aa = A()
>>> a.a
1

>>> aa.a
1

>>> aa.a = 2
>>> a.a
1

>>> aa.a
2

>>> c = C()
>>> c.a
1

>>> c.b
1

>>> c.b = 2
>>> c.b
2

>>> C.c = 1
>>> c.c
1

>>> from types import ClassType
>>> int(isinstance(C, (type, ClassType)))
0

>>> int(C.__class__.__class__ is C.__class__)
1
$Id: odd.py,v 1.2 2005/06/24 16:52:47 nyergler Exp $
Classes
MetaClass Odd classes
MetaMetaClass  
OddInstance  

Generated by Epydoc 2.1 on Fri Jun 24 12:01:24 2005 http://epydoc.sf.net