summaryrefslogtreecommitdiff
path: root/Examples/test-suite/python/smart_pointer_member_runme.py
blob: ce91da2bd77730961c3d713e1e8b3ce4b50e541c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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