scilab: implement operator_overload test
This commit is contained in:
parent
9fbcc0cee4
commit
460326949b
1 changed files with 82 additions and 0 deletions
82
Examples/test-suite/scilab/operator_overload_runme.sci
Normal file
82
Examples/test-suite/scilab/operator_overload_runme.sci
Normal file
|
|
@ -0,0 +1,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);
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue