diff options
Diffstat (limited to 'trunk/Examples/test-suite/python/virtual_poly_runme.py')
-rw-r--r-- | trunk/Examples/test-suite/python/virtual_poly_runme.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/trunk/Examples/test-suite/python/virtual_poly_runme.py b/trunk/Examples/test-suite/python/virtual_poly_runme.py new file mode 100644 index 000000000..7e202f9cf --- /dev/null +++ b/trunk/Examples/test-suite/python/virtual_poly_runme.py @@ -0,0 +1,38 @@ +import virtual_poly + +d = virtual_poly.NDouble(3.5) +i = virtual_poly.NInt(2) + +# +# the copy methods return the right polymorphic types +# +dc = d.copy() +ic = i.copy() + +if d.get() != dc.get(): + raise RuntimeError + +if i.get() != ic.get(): + raise RuntimeError + +virtual_poly.incr(ic) + +if (i.get() + 1) != ic.get(): + raise RuntimeError + + +dr = d.ref_this() +if d.get() != dr.get(): + raise RuntimeError + + +# +# 'narrowing' also works +# +ddc = virtual_poly.NDouble_narrow(d.nnumber()) +if d.get() != ddc.get(): + raise RuntimeError + +dic = virtual_poly.NInt_narrow(i.nnumber()) +if i.get() != dic.get(): + raise RuntimeError |