Some director runtime tests

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5115 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2003-09-16 20:54:14 +00:00
commit 91b4e247bb
3 changed files with 102 additions and 0 deletions

View file

@ -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()";
}
}

View file

@ -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");
}
}

View file

@ -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()";
}
}