| #!/usr/bin/env ruby |
| # |
| # Put description here |
| # |
| # |
| # |
| # |
| # |
| |
| require 'swig_assert' |
| |
| require 'virtual_poly' |
| |
| d = Virtual_poly::NDouble.new(3.5) |
| i = Virtual_poly::NInt.new(2) |
| |
| # |
| # polymorphic return type working |
| # |
| dc = d.copy |
| ic = i.copy |
| |
| raise RuntimeError if d.get != dc.get |
| raise RuntimeError if i.get != ic.get |
| |
| # |
| # 'narrowing' working ('nnumber' returns a NNumber) |
| # |
| ddc = Virtual_poly::NDouble.narrow(dc.nnumber) |
| raise RuntimeError if d.get != ddc.get |
| |
| dic = Virtual_poly::NInt.narrow(ic.nnumber) |
| raise RuntimeError if i.get != dic.get |