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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
exec("swigtest.start", -1);
function checktrue(value, msg)
checkequal(value, %T, msg)
endfunction
a = new_Op();
b = new_Op(5);
c = new_Op(b);
d = new_Op(2);
dd = new_Op();
// Assignment operator
Op_Equal(dd, d);
// Comparison operator
checktrue(Op_NotEqual(a, b), "Op_NotEqual(a, b)");
checktrue(Op_EqualEqual(b, c), "Op_EqualEqual(b, c)");
checktrue(Op_NotEqual(a, d), "Op_NotEqual(a, d)");
checktrue(Op_EqualEqual(d, dd), "Op_EqualEqual(d, dd)");
checktrue(Op_LessThan(a, b), "Op_LessThan(a, b)");
checktrue(Op_LessThanEqual(a, b), "Op_LessThanEqual(a, b)");
checktrue(Op_LessThanEqual(b, c), "Op_LessThanEqual(b, c)");
checktrue(Op_GreaterThanEqual(b, c), "Op_GreaterThanEqual(b, c)");
checktrue(Op_GreaterThan(b, d), "Op_GreaterThan(b, d)");
checktrue(Op_GreaterThanEqual(b, d), "Op_GreaterThanEqual(b, d)");
delete_Op(a);
delete_Op(b);
delete_Op(c);
delete_Op(d);
delete_Op(dd);
f = new_Op(1);
g = new_Op(1);
expop = new_Op();
op = Op_Plus(f, g);
Op_i_set(expop, 2);
checktrue(Op_EqualEqual(op, expop), "Op_Plus(f, g) <> Op(2)");
delete_Op(op);
op = Op_Minus(f, g);
Op_i_set(expop, 0);
checktrue(Op_EqualEqual(op, expop), "Op_Minus(f, g) <> Op(0)");
delete_Op(op);
op = Op_Multiply(f, g);
Op_i_set(expop, 1);
checktrue(Op_EqualEqual(op, expop), "Op_Multiply(f, g) <> Op(1)");
delete_Op(op);
op = Op_Divide(f, g);
Op_i_set(expop, 1);
checktrue(Op_EqualEqual(op, expop), "Op_Divide(f, g) <> Op(1)");
delete_Op(op);
// Unary operator
op = Op_PlusPlusPrefix(new_Op(3));
Op_i_set(expop, 4);
checktrue(Op_EqualEqual(op, expop), "Op_PlusPlusPrefix(op) <> Op(4)");
// Square bracket operator
checkequal(Op_IndexIntoConst(op, uint32(0)), 4, "Op_IndexIntoConst(op, 0) <> 4");
checkequal(Op_IndexIntoConst(op, uint32(1)), 0, "Op_IndexIntoConst(op, 1) <> 0");
// Functor
i = new_Op(3);
checkequal(Op_Functor(i), 3, "Op_Functor(i)");
checkequal(Op_Functor(i, 1), 4, "Op_Functor(i, 1)");
delete_Op(f);
delete_Op(g);
delete_Op(i);
delete_Op(expop);
exec("swigtest.quit", -1);
|