summaryrefslogtreecommitdiff
path: root/Examples/test-suite/octave/li_constraints_runme.m
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/test-suite/octave/li_constraints_runme.m')
-rw-r--r--Examples/test-suite/octave/li_constraints_runme.m62
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);