From 91b4e247bb70fcdee27882f4fdcdca4b109f8dc2 Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Tue, 16 Sep 2003 20:54:14 +0000 Subject: [PATCH] Some director runtime tests git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5115 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- .../java/director_abstract_runme.java | 34 +++++++++++++++++++ .../java/director_exception_runme.java | 34 +++++++++++++++++++ .../java/director_unroll_runme.java | 34 +++++++++++++++++++ 3 files changed, 102 insertions(+) create mode 100644 SWIG/Examples/test-suite/java/director_abstract_runme.java create mode 100644 SWIG/Examples/test-suite/java/director_exception_runme.java create mode 100644 SWIG/Examples/test-suite/java/director_unroll_runme.java diff --git a/SWIG/Examples/test-suite/java/director_abstract_runme.java b/SWIG/Examples/test-suite/java/director_abstract_runme.java new file mode 100644 index 000000000..85332a158 --- /dev/null +++ b/SWIG/Examples/test-suite/java/director_abstract_runme.java @@ -0,0 +1,34 @@ + +import director_abstract.*; + +public class director_abstract_runme { + + static { + try { + System.loadLibrary("director_abstract"); + } catch (UnsatisfiedLinkError e) { + System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e); + System.exit(1); + } + } + + public static void main(String argv[]) { + + MyFoo a = new MyFoo(); + + if (!a.ping().equals("MyFoo::ping()")) { + throw new RuntimeException ( "a.ping()" ); + } + + if (!a.pong().equals("Foo::pong();MyFoo::ping()")) { + throw new RuntimeException ( "a.pong()" ); + } + } +} + +class MyFoo extends Foo { + public String ping() { + return "MyFoo::ping()"; + } +} + diff --git a/SWIG/Examples/test-suite/java/director_exception_runme.java b/SWIG/Examples/test-suite/java/director_exception_runme.java new file mode 100644 index 000000000..90ff89f94 --- /dev/null +++ b/SWIG/Examples/test-suite/java/director_exception_runme.java @@ -0,0 +1,34 @@ + +import director_exception.*; + +public class director_exception_runme { + + static { + try { + System.loadLibrary("director_exception"); + } catch (UnsatisfiedLinkError e) { + System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e); + System.exit(1); + } + } + + public static void main(String argv[]) { + + MyFoo a = new MyFoo(); + Foo b = director_exception.launder(a); + + try { + a.pong(); + throw new RuntimeException ( "Failed to catch exception" ); + } + catch (UnsupportedOperationException e) { + } + } +} + +class MyFoo extends Foo { + public String ping() { + throw new UnsupportedOperationException("Foo::ping not implemented"); + } +} + diff --git a/SWIG/Examples/test-suite/java/director_unroll_runme.java b/SWIG/Examples/test-suite/java/director_unroll_runme.java new file mode 100644 index 000000000..e302ec7a3 --- /dev/null +++ b/SWIG/Examples/test-suite/java/director_unroll_runme.java @@ -0,0 +1,34 @@ + +import director_unroll.*; + +public class director_unroll_runme { + + static { + try { + System.loadLibrary("director_unroll"); + } catch (UnsatisfiedLinkError e) { + System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e); + System.exit(1); + } + } + + public static void main(String argv[]) { + + MyFoo a = new MyFoo(); + + Bar b = new Bar(); + + b.set(a); + Foo c = b.get(); + + if (!c.ping().equals("MyFoo::ping()")) + throw new RuntimeException ( "c.ping()" ); + } +} + +class MyFoo extends Foo { + public String ping() { + return "MyFoo::ping()"; + } +} +