diff options
Diffstat (limited to 'Examples/test-suite/octave/li_constraints_runme.m')
-rw-r--r-- | Examples/test-suite/octave/li_constraints_runme.m | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/Examples/test-suite/octave/li_constraints_runme.m b/Examples/test-suite/octave/li_constraints_runme.m new file mode 100644 index 000000000..eaea571a0 --- /dev/null +++ b/Examples/test-suite/octave/li_constraints_runme.m @@ -0,0 +1,62 @@ +li_constraints + +function check_double(except, f, val, name) + actual = true; + proper = false; + try + f(val); + catch + actual = false; + proper = strcmp(lasterr, ["Expected a ", name , " value. (SWIG_ValueError)"]) == 1; + end + if (actual) + if (!except) + error(["function '", name, "' with ", num2str(val), " should perform an exception"]); + end + else + if (except) + error(["function '", name, "' with ", num2str(val), " should not perform an exception"]); + elseif (!proper) + error(["function '", name, "' with ", num2str(val), " should perform a proper exception"]); + end + end +end + +function nonnegative(x);global li_constraints;li_constraints.test_nonnegative(x);end +check_double(true, @nonnegative, 10, "non-negative"); +check_double(true, @nonnegative, 0, "non-negative"); +check_double(false, @nonnegative, -10, "non-negative"); + +function nonpositive(x);global li_constraints;li_constraints.test_nonpositive(x);end +check_double(false, @nonpositive, 10, "non-positive"); +check_double(true, @nonpositive, 0, "non-positive"); +check_double(true, @nonpositive, -10, "non-positive"); + +function positive(x);global li_constraints;li_constraints.test_positive(x);end +check_double(true, @positive, 10, "positive"); +check_double(false, @positive, 0, "positive"); +check_double(false, @positive, -10, "positive"); + +function negative(x);global li_constraints;li_constraints.test_negative(x);end +check_double(false, @negative, 10, "negative"); +check_double(false, @negative, 0, "negative"); +check_double(true, @negative, -10, "negative"); + +function nonzero(x);global li_constraints;li_constraints.test_nonzero(x);end +check_double(true, @nonzero, 10, "nonzero"); +check_double(false, @nonzero, 0, "nonzero"); +check_double(true, @nonzero, -10, "nonzero"); + +have_exception = false; +try + # Empty matrix translate to null pointer + li_constraints.test_nonnull([]); +catch + have_exception = strcmp("Received a NULL pointer. (SWIG_ValueError)", lasterr) == 1; +end +if (!have_exception) + error("test_nonnull should perform exception with 'null' value"); +end + +nonnull = li_constraints.get_nonnull(); +li_constraints.test_nonnull(nonnull); |