| 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); |