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
