29 lines
447 B
Python
29 lines
447 B
Python
from smart_pointer_member import *
|
|
|
|
|
|
def is_new_style_class(cls):
|
|
return hasattr(cls, "__class__")
|
|
|
|
f = Foo()
|
|
f.y = 1
|
|
|
|
if f.y != 1:
|
|
raise RuntimeError
|
|
|
|
b = Bar(f)
|
|
b.y = 2
|
|
|
|
if f.y != 2:
|
|
print f.y
|
|
print b.y
|
|
raise RuntimeError
|
|
|
|
if b.x != f.x:
|
|
raise RuntimeError
|
|
|
|
if b.z != f.z:
|
|
raise RuntimeError
|
|
|
|
if is_new_style_class(Bar): # feature not supported in old style classes
|
|
if Foo.z == Bar.z:
|
|
raise RuntimeError
|