summaryrefslogtreecommitdiff
path: root/Examples/test-suite/python/li_constraints_runme.py
diff options
context:
space:
mode:
authorOlly Betts <olly@survex.com>2023-05-12 16:18:46 +1200
committerOlly Betts <olly@survex.com>2023-05-12 16:18:46 +1200
commit5b709dd1632580e52fbbf1385c66abccbd16b728 (patch)
tree22dc87977ee955eb1d0c3851dba02a77624daf28 /Examples/test-suite/python/li_constraints_runme.py
parenta44a7de3481e5f59c08dd71ec89b30b7578a52b9 (diff)
parentb6eaee8d1219619113f715a7ee35644bfd557f34 (diff)
downloadswig-5b709dd1632580e52fbbf1385c66abccbd16b728.tar.gz
Merge branch 'JS-check-fix'
Diffstat (limited to 'Examples/test-suite/python/li_constraints_runme.py')
-rw-r--r--Examples/test-suite/python/li_constraints_runme.py54
1 files changed, 54 insertions, 0 deletions
diff --git a/Examples/test-suite/python/li_constraints_runme.py b/Examples/test-suite/python/li_constraints_runme.py
new file mode 100644
index 000000000..72ba22d9a
--- /dev/null
+++ b/Examples/test-suite/python/li_constraints_runme.py
@@ -0,0 +1,54 @@
+import li_constraints
+
+def check_double(et, fn, f, val):
+ actual = True
+ proper = False
+ try:
+ fn(val)
+ except ValueError as e:
+ actual = False
+ proper = "Expected a " + f + " value." == "%s"%(e)
+ if actual:
+ if not et:
+ raise Exception("function '%s' with %d should perform an exception"%(f, val))
+ else:
+ if et:
+ raise Exception("function '%s' with %d should not perform an exception"%(f, val))
+ elif not proper:
+ raise Exception("function '%s' with %d should perform a proper exception"%(f, val))
+ pass
+
+nonnegative = lambda v : li_constraints.test_nonnegative(v)
+check_double(True, nonnegative, "non-negative", 10)
+check_double(True, nonnegative, "non-negative", 0)
+check_double(False, nonnegative, "non-negative", -10)
+
+nonpositive = lambda v : li_constraints.test_nonpositive(v)
+check_double(False, nonpositive, "non-positive", 10)
+check_double(True, nonpositive, "non-positive", 0)
+check_double(True, nonpositive, "non-positive", -10)
+
+positive = lambda v : li_constraints.test_positive(v)
+check_double(True, positive, "positive", 10)
+check_double(False, positive, "positive", 0)
+check_double(False, positive, "positive", -10)
+
+negative = lambda v : li_constraints.test_negative(v)
+check_double(False, negative, "negative", 10)
+check_double(False, negative, "negative", 0)
+check_double(True, negative, "negative", -10)
+
+nonzero = lambda v : li_constraints.test_nonzero(v)
+check_double(True, nonzero, "nonzero", 10)
+check_double(False, nonzero, "nonzero", 0)
+check_double(True, nonzero, "nonzero", -10)
+
+have_exception = False
+try:
+ li_constraints.test_nonnull(None)
+except ValueError as e:
+ have_exception = "Received a NULL pointer." == "%s"%(e)
+if not have_exception:
+ raise Exception("test_nonnull should perform exception with 'null' value")
+nonnull = li_constraints.get_nonnull()
+li_constraints.test_nonnull(nonnull)