diff options
Diffstat (limited to 'trunk/Examples/test-suite/ruby/virtual_poly_runme.rb')
-rw-r--r-- | trunk/Examples/test-suite/ruby/virtual_poly_runme.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/trunk/Examples/test-suite/ruby/virtual_poly_runme.rb b/trunk/Examples/test-suite/ruby/virtual_poly_runme.rb new file mode 100644 index 000000000..38752cc3f --- /dev/null +++ b/trunk/Examples/test-suite/ruby/virtual_poly_runme.rb @@ -0,0 +1,33 @@ +#!/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 |