From a7ae5a021efc38e3c037ae2f3449c5b25f956076 Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Tue, 18 Nov 2003 23:19:47 +0000 Subject: [PATCH] contract assertion test git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5344 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- .../test-suite/csharp/aggregate_runme.cs | 27 +++++++++++++ .../test-suite/java/aggregate_runme.java | 39 +++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 SWIG/Examples/test-suite/csharp/aggregate_runme.cs create mode 100644 SWIG/Examples/test-suite/java/aggregate_runme.java diff --git a/SWIG/Examples/test-suite/csharp/aggregate_runme.cs b/SWIG/Examples/test-suite/csharp/aggregate_runme.cs new file mode 100644 index 000000000..5baf3ed87 --- /dev/null +++ b/SWIG/Examples/test-suite/csharp/aggregate_runme.cs @@ -0,0 +1,27 @@ +using System; + +public class runme { + static void Main() { + + // Confirm that move() returns correct results under normal use + int result = aggregate.move(aggregate.UP); + if (result != aggregate.UP) throw new Exception("UP failed"); + + result = aggregate.move(aggregate.DOWN); + if (result != aggregate.DOWN) throw new Exception("DOWN failed"); + + result = aggregate.move(aggregate.LEFT); + if (result != aggregate.LEFT) throw new Exception("LEFT failed"); + + result = aggregate.move(aggregate.RIGHT); + if (result != aggregate.RIGHT) throw new Exception("RIGHT failed"); + + // Confirm that move() raises an exception when the contract is violated + try { + aggregate.move(0); + throw new Exception("0 test failed"); + } + catch (ArgumentOutOfRangeException) { + } + } +} diff --git a/SWIG/Examples/test-suite/java/aggregate_runme.java b/SWIG/Examples/test-suite/java/aggregate_runme.java new file mode 100644 index 000000000..f25728bf2 --- /dev/null +++ b/SWIG/Examples/test-suite/java/aggregate_runme.java @@ -0,0 +1,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) { + } + } +} +