PageRenderTime 66ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/tags/rel-1-3-29/SWIG/Examples/test-suite/java/li_typemaps_runme.java

#
Java | 125 lines | 103 code | 15 blank | 7 comment | 19 complexity | c94872a56ca2fe6d164a727a629bc15a MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  1. // Check a few of the INPUT, OUTPUT and INOUT typemaps.
  2. import li_typemaps.*;
  3. import java.math.*;
  4. public class li_typemaps_runme {
  5. static {
  6. try {
  7. System.loadLibrary("li_typemaps");
  8. } catch (UnsatisfiedLinkError e) {
  9. 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);
  10. System.exit(1);
  11. }
  12. }
  13. public static void main(String argv[]) {
  14. // Check double INPUT typemaps
  15. if (li_typemaps.in_double(22.22) != 22.22) exit_test("in_double");
  16. if (li_typemaps.inr_double(22.22) != 22.22) exit_test("inr_double");
  17. // Check double OUTPUT typemaps
  18. {
  19. double[] var = {44.44};
  20. li_typemaps.out_double(22.22, var);
  21. if (var[0] != 22.22) exit_test("out_double");
  22. }
  23. {
  24. double[] var = {44.44};
  25. li_typemaps.outr_double(22.22, var);
  26. if (var[0] != 22.22) exit_test("outr_double");
  27. }
  28. try {
  29. double[] var = null;
  30. li_typemaps.out_double(22.22, var);
  31. exit_test("null out_double");
  32. } catch (NullPointerException e) {
  33. }
  34. // Check double INOUT typemaps
  35. {
  36. double[] var = {44.44};
  37. li_typemaps.inout_double(var);
  38. if (var[0] != 44.44) exit_test("inout_double");
  39. }
  40. {
  41. double[] var = {44.44};
  42. li_typemaps.inoutr_double(var);
  43. if (var[0] != 44.44) exit_test("inoutr_double");
  44. }
  45. try {
  46. double[] var = null;
  47. li_typemaps.inout_double(var);
  48. exit_test("null inout_double");
  49. } catch (NullPointerException e) {
  50. }
  51. // Check unsigned long long INPUT typemaps
  52. BigInteger forty = new BigInteger("40");
  53. BigInteger twenty = new BigInteger("20");
  54. if (!li_typemaps.in_ulonglong(twenty).equals(twenty)) exit_test("in_ulonglong");
  55. if (!li_typemaps.inr_ulonglong(twenty).equals(twenty)) exit_test("inr_ulonglong");
  56. try {
  57. li_typemaps.in_ulonglong(null);
  58. exit_test("null in_ulonglong");
  59. } catch (NullPointerException e) {
  60. }
  61. // Check unsigned long long OUTPUT typemaps
  62. {
  63. BigInteger[] var = {new BigInteger("40")};
  64. li_typemaps.out_ulonglong(twenty, var);
  65. if (!var[0].equals(twenty)) exit_test("out_ulonglong");
  66. }
  67. {
  68. BigInteger[] var = {new BigInteger("40")};
  69. li_typemaps.outr_ulonglong(twenty, var);
  70. if (!var[0].equals(twenty)) exit_test("outr_ulonglong");
  71. }
  72. try {
  73. BigInteger[] var = null;
  74. li_typemaps.out_ulonglong(twenty, var);
  75. exit_test("null out_ulonglong");
  76. } catch (NullPointerException e) {
  77. }
  78. {
  79. BigInteger[] var = { null };
  80. li_typemaps.out_ulonglong(twenty, var);
  81. if (!var[0].equals(twenty)) exit_test("null element out_ulonglong");
  82. }
  83. // Check unsigned long long INOUT typemaps
  84. {
  85. BigInteger[] var = {new BigInteger("40")};
  86. li_typemaps.inout_ulonglong(var);
  87. if (!var[0].equals(forty)) exit_test("inout_ulonglong");
  88. }
  89. {
  90. BigInteger[] var = {new BigInteger("40")};
  91. li_typemaps.inoutr_ulonglong(var);
  92. if (!var[0].equals(forty)) exit_test("inoutr_ulonglong");
  93. }
  94. try {
  95. BigInteger[] var = null;
  96. li_typemaps.inout_ulonglong(var);
  97. exit_test("null inout_ulonglong");
  98. } catch (NullPointerException e) {
  99. }
  100. try {
  101. BigInteger[] var = { null };
  102. li_typemaps.inout_ulonglong(var);
  103. exit_test("null element inout_ulonglong");
  104. } catch (NullPointerException e) {
  105. }
  106. }
  107. private static void exit_test(String funcName) {
  108. throw new RuntimeException("Test FAILED in function " + funcName);
  109. }
  110. }