| from smart_pointer_extend import * | |
| f = Foo() | |
| b = Bar(f) | |
| if b.extension() != f.extension(): | |
| raise RuntimeError | |
| b = CBase() | |
| d = CDerived() | |
| p = CPtr() | |
| if b.bar() != p.bar(): | |
| raise RuntimeError | |
| if d.foo() != p.foo(): | |
| raise RuntimeError | |
| if b.hello() != p.hello(): | |
| raise RuntimeError | |
| d = DFoo() | |
| dp = DPtrFoo(d) | |
| if d.SExt(1) != dp.SExt(1): | |
| raise RuntimeError | |
| if d.Ext(1) != dp.Ext(1): | |
| raise RuntimeError |