diff options
author | William S Fulton <wsf@fultondesigns.co.uk> | 2010-06-02 20:53:17 +0000 |
---|---|---|
committer | William S Fulton <wsf@fultondesigns.co.uk> | 2010-06-02 20:53:17 +0000 |
commit | 2824b0cbb66e715490e1ef13250bd675d87b32d9 (patch) | |
tree | c3bc8d54c6d73f2b7ce08cac34172dbc9f5e5b95 /trunk/Examples/test-suite/ruby/virtual_poly_runme.rb | |
parent | 289cfef4b4766ff266f3b1bdda8ca3a952e5a047 (diff) | |
download | swig-2.0.0.tar.gz |
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/tags/rel-2.0.0@12089 626c5289-ae23-0410-ae9c-e8d60b6d4f22
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 |