From 3ab6cb695ea4c9d75c117d748586e07483cb1d0c Mon Sep 17 00:00:00 2001 From: Maciej Drwal Date: Wed, 15 Apr 2009 23:38:48 +0000 Subject: [PATCH] One more runtime test case git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@11190 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- .../test-suite/c/operator_overload_runme.c | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Examples/test-suite/c/operator_overload_runme.c diff --git a/Examples/test-suite/c/operator_overload_runme.c b/Examples/test-suite/c/operator_overload_runme.c new file mode 100644 index 000000000..fc27fd5b5 --- /dev/null +++ b/Examples/test-suite/c/operator_overload_runme.c @@ -0,0 +1,25 @@ +#include + +#include "operator_overload/operator_overload_proxy.h" + +#define assert(x,msg) if (!x) { printf("%d: %s\n", x, msg); SWIG_exit(0); } + +SWIG_MAKE_DELETE(delete_Ops, Op); + +int main() { + Op_sanity_check(); + + Op *op1 = new_Op_i(1), *op2 = new_Op_i(2), *op3 = copy_Op(op1); + + assert(Op_NotEqual(op1, op2), "neq failed"); + Op_PlusPlusPrefix(op3); + assert(Op_EqualEqual(op2, op3), "eqeq failed"); + assert(Op_GreaterThanEqual(op2, op1), "geq failed"); + Op_PlusEqual(op3, op1); + assert(Op_LessThan(op1, op2) && Op_LessThan(op2, op3), "lt failed"); + assert(3 == *Op_IndexInto(op3, Op_IndexIntoConst(op2, Op_Functor_pOp(op1))), "[] or () failed"); + assert(5 == Op_Functor_pOp_i(op3, 2), "f(x) failed"); + + delete_Ops(op1, op2, op3, 0); + SWIG_exit(0); +}