File: argcargvtest_runme.java

package info (click to toggle)
swig 4.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 46,232 kB
  • sloc: cpp: 54,631; ansic: 29,122; java: 17,530; python: 12,505; cs: 10,369; ruby: 7,232; yacc: 6,477; makefile: 5,965; javascript: 5,520; sh: 5,415; perl: 4,187; php: 3,693; ml: 2,187; lisp: 2,056; tcl: 1,991; xml: 115
file content (56 lines) | stat: -rw-r--r-- 2,057 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import argcargvtest.*;

public class argcargvtest_runme {

  static {
    try {
      System.loadLibrary("argcargvtest");
    } 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[]) {
    argcargvtest test = new argcargvtest();

    String[] largs = {"hi", "hola", "hello"};
    if (test.mainc(largs) != 3)
        throw new RuntimeException("bad main typemap");

    String[] targs = {"hi", "hola"};
    if (!test.mainv(targs, 0).equals("hi"))
        throw new RuntimeException("bad main typemap");
    if (!test.mainv(targs, 1).equals("hola"))
        throw new RuntimeException("bad main typemap");
    if (!test.mainv(targs, 2).equals("<<NULL>>"))
        throw new RuntimeException("bad main typemap");

// For dynamically typed languages we test this throws an exception or similar
// at runtime, but for Java this doesn't even compile (but we can't easily
// test for that here).
//  test.mainv("hello", 1);

    test.initializeApp(largs);

    // Check that an empty array works.
    String[] empty_args = {};
    if (test.mainc(empty_args) != 0)
      throw new RuntimeException("bad main typemap");
    if (!test.mainv(empty_args, 0).equals("<<NULL>>"))
        throw new RuntimeException("bad main typemap");

    // Check that empty strings are handled.
    String[] empty_string = {"hello", "", "world"};
    if (test.mainc(empty_string) != 3)
      throw new RuntimeException("bad main typemap");
    if (!test.mainv(empty_string, 0).equals("hello"))
      throw new RuntimeException("bad main typemap");
    if (!test.mainv(empty_string, 1).equals(""))
      throw new RuntimeException("bad main typemap");
    if (!test.mainv(empty_string, 2).equals("world"))
      throw new RuntimeException("bad main typemap");
    if (!test.mainv(empty_string, 3).equals("<<NULL>>"))
      throw new RuntimeException("bad main typemap");
  }
}