summaryrefslogtreecommitdiff
path: root/Examples/test-suite/java/aggregate_runme.java
blob: f25728bf242f7b2bf9fa45011c6c283160de268c (plain)
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

import aggregate.*;

public class aggregate_runme {

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

      // Confirm that move() returns correct results under normal use
      int result = aggregate.move(aggregate.UP);
      if (result != aggregate.UP) throw new RuntimeException("UP failed");

      result = aggregate.move(aggregate.DOWN);
      if (result != aggregate.DOWN) throw new RuntimeException("DOWN failed");

      result = aggregate.move(aggregate.LEFT);
      if (result != aggregate.LEFT) throw new RuntimeException("LEFT failed");

      result = aggregate.move(aggregate.RIGHT);
      if (result != aggregate.RIGHT) throw new RuntimeException("RIGHT failed");

      // Confirm that move() raises an exception when the contract is violated
      try {
        aggregate.move(0);
        throw new RuntimeException("0 test failed");
      }
      catch (IllegalArgumentException e) {
      }
  }
}