mirror of https://github.com/swig/swig
164 lines
5.7 KiB
Java
164 lines
5.7 KiB
Java
import char_strings.*;
|
|
|
|
public class char_strings_runme {
|
|
|
|
static {
|
|
try {
|
|
System.loadLibrary("char_strings");
|
|
} 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);
|
|
}
|
|
}
|
|
|
|
private static String CPLUSPLUS_MSG = "A message from the deep dark world of C++, where anything is possible.";
|
|
private static String OTHERLAND_MSG = "Little message from the safe world.";
|
|
|
|
public static void main(String argv[]) {
|
|
|
|
long count = 10000;
|
|
long i = 0;
|
|
|
|
// get functions
|
|
for (i=0; i<count; i++) {
|
|
String str = char_strings.GetCharHeapString();
|
|
if (!str.equals(CPLUSPLUS_MSG))
|
|
throw new RuntimeException("Test char get 1 failed, iteration " + i);
|
|
char_strings.DeleteCharHeapString();
|
|
}
|
|
|
|
for (i=0; i<count; i++) {
|
|
String str = char_strings.GetConstCharProgramCodeString();
|
|
if (!str.equals(CPLUSPLUS_MSG))
|
|
throw new RuntimeException("Test char get 2 failed, iteration " + i);
|
|
char_strings.DeleteCharHeapString();
|
|
}
|
|
|
|
for (i=0; i<count; i++) {
|
|
String str = char_strings.GetCharStaticString();
|
|
if (!str.equals(CPLUSPLUS_MSG))
|
|
throw new RuntimeException("Test char get 3 failed, iteration " + i);
|
|
}
|
|
|
|
for (i=0; i<count; i++) {
|
|
String str = char_strings.GetCharStaticStringFixed();
|
|
if (!str.equals(CPLUSPLUS_MSG))
|
|
throw new RuntimeException("Test char get 4 failed, iteration " + i);
|
|
}
|
|
|
|
for (i=0; i<count; i++) {
|
|
String str = char_strings.GetConstCharStaticStringFixed();
|
|
if (!str.equals(CPLUSPLUS_MSG))
|
|
throw new RuntimeException("Test char get 5 failed, iteration " + i);
|
|
}
|
|
|
|
// set functions
|
|
for (i=0; i<count; i++) {
|
|
if (!char_strings.SetCharHeapString(OTHERLAND_MSG + i, i))
|
|
throw new RuntimeException("Test char set 1 failed, iteration " + i);
|
|
}
|
|
|
|
for (i=0; i<count; i++) {
|
|
if (!char_strings.SetCharStaticString(OTHERLAND_MSG + i, i))
|
|
throw new RuntimeException("Test char set 2 failed, iteration " + i);
|
|
}
|
|
|
|
for (i=0; i<count; i++) {
|
|
if (!char_strings.SetCharArrayStaticString(OTHERLAND_MSG + i, i))
|
|
throw new RuntimeException("Test char set 3 failed, iteration " + i);
|
|
}
|
|
|
|
for (i=0; i<count; i++) {
|
|
if (!char_strings.SetConstCharHeapString(OTHERLAND_MSG + i, i))
|
|
throw new RuntimeException("Test char set 4 failed, iteration " + i);
|
|
}
|
|
|
|
for (i=0; i<count; i++) {
|
|
if (!char_strings.SetConstCharStaticString(OTHERLAND_MSG + i, i))
|
|
throw new RuntimeException("Test char set 5 failed, iteration " + i);
|
|
}
|
|
|
|
for (i=0; i<count; i++) {
|
|
if (!char_strings.SetConstCharArrayStaticString(OTHERLAND_MSG + i, i))
|
|
throw new RuntimeException("Test char set 6 failed, iteration " + i);
|
|
}
|
|
|
|
for (i=0; i<count; i++) {
|
|
if (!char_strings.SetCharConstStaticString(OTHERLAND_MSG + i, i))
|
|
throw new RuntimeException("Test char set 7 failed, iteration " + i);
|
|
}
|
|
|
|
for (i=0; i<count; i++) {
|
|
if (!char_strings.SetConstCharConstStaticString(OTHERLAND_MSG + i, i))
|
|
throw new RuntimeException("Test char set 8 failed, iteration " + i);
|
|
}
|
|
|
|
// get set function
|
|
for (i=0; i<count; i++) {
|
|
String ping = OTHERLAND_MSG + i;
|
|
String pong = char_strings.CharPingPong(ping);
|
|
if (!ping.equals(pong))
|
|
throw new RuntimeException("Test PingPong 1 failed.\nExpected:" + ping + "\nReceived:" + pong);
|
|
}
|
|
|
|
// variables
|
|
for (i=0; i<count; i++) {
|
|
char_strings.setGlobal_char(OTHERLAND_MSG + i);
|
|
if (!char_strings.getGlobal_char().equals(OTHERLAND_MSG + i))
|
|
throw new RuntimeException("Test variables 1 failed, iteration " + i);
|
|
}
|
|
|
|
for (i=0; i<count; i++) {
|
|
char_strings.setGlobal_char_array1(OTHERLAND_MSG + i);
|
|
if (!char_strings.getGlobal_char_array1().equals(OTHERLAND_MSG + i))
|
|
throw new RuntimeException("Test variables 2 failed, iteration " + i);
|
|
}
|
|
|
|
for (i=0; i<count; i++) {
|
|
char_strings.setGlobal_char_array2(OTHERLAND_MSG + i);
|
|
if (!char_strings.getGlobal_char_array2().equals(OTHERLAND_MSG + i))
|
|
throw new RuntimeException("Test variables 3 failed, iteration " + i);
|
|
}
|
|
|
|
for (i=0; i<count; i++) {
|
|
if (!char_strings.getGlobal_const_char().equals(CPLUSPLUS_MSG))
|
|
throw new RuntimeException("Test variables 4 failed, iteration " + i);
|
|
}
|
|
|
|
for (i=0; i<count; i++) {
|
|
if (!char_strings.getGlobal_const_char_array1().equals(CPLUSPLUS_MSG))
|
|
throw new RuntimeException("Test variables 5 failed, iteration " + i);
|
|
}
|
|
|
|
for (i=0; i<count; i++) {
|
|
if (!char_strings.getGlobal_const_char_array2().equals(CPLUSPLUS_MSG))
|
|
throw new RuntimeException("Test variables 6 failed, iteration " + i);
|
|
}
|
|
|
|
// char *& tests
|
|
for (i=0; i<count; i++) {
|
|
String str = char_strings.GetCharPointerRef();
|
|
if (!str.equals(CPLUSPLUS_MSG))
|
|
throw new RuntimeException("Test char pointer ref get failed, iteration " + i);
|
|
}
|
|
|
|
for (i=0; i<count; i++) {
|
|
if (!char_strings.SetCharPointerRef(OTHERLAND_MSG + i, i))
|
|
throw new RuntimeException("Test char pointer ref set failed, iteration " + i);
|
|
}
|
|
|
|
for (i=0; i<count; i++) {
|
|
String str = char_strings.GetConstCharPointerRef();
|
|
if (!str.equals(CPLUSPLUS_MSG))
|
|
throw new RuntimeException("Test const char pointer ref get failed, iteration " + i);
|
|
}
|
|
|
|
for (i=0; i<count; i++) {
|
|
if (!char_strings.SetConstCharPointerRef(OTHERLAND_MSG + i, i))
|
|
throw new RuntimeException("Test const char pointer ref set failed, iteration " + i);
|
|
}
|
|
}
|
|
}
|
|
|
|
|