var li_constraints = require("li_constraints"); function check_double(except, f, val, name) { var actual = true; var proper = false; try { f(val); } catch(e) { actual = false; proper = e.message === "Expected a " + name + " value."; } if (actual) { if (!except) throw new Error("function '" + name + "' with " + val + " should perform an exception"); } else { if (except) throw new Error("function '" + name + "' with " + val + " should not perform an exception"); else if (!proper) throw new Error("function '" + name + "' with " + val + " should perform a proper exception"); } } const nonnegative = function (val) { li_constraints.test_nonnegative(val); }; check_double(true, nonnegative, 10, "non-negative"); check_double(true, nonnegative, 0, "non-negative"); check_double(false, nonnegative, -10, "non-negative"); const nonpositive = function (val) { li_constraints.test_nonpositive(val); }; check_double(false, nonpositive, 10, "non-positive"); check_double(true, nonpositive, 0, "non-positive"); check_double(true, nonpositive, -10, "non-positive"); const positive = function (val) { li_constraints.test_positive(val); }; check_double(true, positive, 10, "positive"); check_double(false, positive, 0, "positive"); check_double(false, positive, -10, "positive"); const negative = function (val) { li_constraints.test_negative(val); }; check_double(false, negative, 10, "negative"); check_double(false, negative, 0, "negative"); check_double(true, negative, -10, "negative"); const nonzero = function (val) { li_constraints.test_nonzero(val); }; check_double(true, nonzero, 10, "nonzero"); check_double(false, nonzero, 0, "nonzero"); check_double(true, nonzero, -10, "nonzero"); var have_exception = false; try { li_constraints.test_nonnull(null); } catch(e) { have_exception = e.message === "Received a NULL pointer."; } if (!have_exception) { throw new Error("test_nonnull should perform a proper exception with 'null' value"); } const nonnull = li_constraints.get_nonnull(); li_constraints.test_nonnull(nonnull);