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/ruby/import_template/runme.rb | |
parent | 289cfef4b4766ff266f3b1bdda8ca3a952e5a047 (diff) | |
download | swig-39489534f6104d5a2938392418dbb7189c037f8b.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/ruby/import_template/runme.rb')
-rw-r--r-- | trunk/Examples/ruby/import_template/runme.rb | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/trunk/Examples/ruby/import_template/runme.rb b/trunk/Examples/ruby/import_template/runme.rb new file mode 100644 index 000000000..b9ca19f77 --- /dev/null +++ b/trunk/Examples/ruby/import_template/runme.rb @@ -0,0 +1,92 @@ +# file: runme.rb +# Test various properties of classes defined in separate modules + +puts "Testing the %import directive with templates" + +require 'base' +require 'foo' +require 'bar' +require 'spam' + +# Create some objects + +puts "Creating some objects" + +a = Base::IntBase.new +b = Foo::IntFoo.new +c = Bar::IntBar.new +d = Spam::IntSpam.new + +# Try calling some methods +puts "Testing some methods" +puts "" +puts "Should see 'Base::A' ---> #{a.A}" +puts "Should see 'Base::B' ---> #{a.B}" + +puts "Should see 'Foo::A' ---> #{b.A}" +puts "Should see 'Foo::B' ---> #{b.B}" + +puts "Should see 'Bar::A' ---> #{c.A}" +puts "Should see 'Bar::B' ---> #{c.B}" + +puts "Should see 'Spam::A' ---> #{d.A}" +puts "Should see 'Spam::B' ---> #{d.B}" + +# Try some casts + +puts "\nTesting some casts\n" +puts "" + +x = a.toBase +puts "Should see 'Base::A' ---> #{x.A}" +puts "Should see 'Base::B' ---> #{x.B}" + +x = b.toBase +puts "Should see 'Foo::A' ---> #{x.A}" +puts "Should see 'Base::B' ---> #{x.B}" + +x = c.toBase +puts "Should see 'Bar::A' ---> #{x.A}" +puts "Should see 'Base::B' ---> #{x.B}" + +x = d.toBase +puts "Should see 'Spam::A' ---> #{x.A}" +puts "Should see 'Base::B' ---> #{x.B}" + +x = d.toBar +puts "Should see 'Bar::B' ---> #{x.B}" + +puts "\nTesting some dynamic casts\n" +x = d.toBase + +puts " Spam -> Base -> Foo : " +y = Foo::IntFoo.fromBase(x) +if y != nil + puts "bad swig" +else + puts "good swig" +end + +puts " Spam -> Base -> Bar : " +y = Bar::IntBar.fromBase(x) +if y != nil + puts "good swig" +else + puts "bad swig" +end + +puts " Spam -> Base -> Spam : " +y = Spam::IntSpam.fromBase(x) +if y != nil + puts "good swig" +else + puts "bad swig" +end + +puts " Foo -> Spam : " +y = Spam::IntSpam.fromBase(b) +if y != nil + puts "bad swig" +else + puts "good swig" +end |