summaryrefslogtreecommitdiff
path: root/trunk/Examples/test-suite/ruby/virtual_poly_runme.rb
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/Examples/test-suite/ruby/virtual_poly_runme.rb')
-rw-r--r--trunk/Examples/test-suite/ruby/virtual_poly_runme.rb33
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