diff options
author | Olly Betts <olly@survex.com> | 2023-05-12 16:18:46 +1200 |
---|---|---|
committer | Olly Betts <olly@survex.com> | 2023-05-12 16:18:46 +1200 |
commit | 5b709dd1632580e52fbbf1385c66abccbd16b728 (patch) | |
tree | 22dc87977ee955eb1d0c3851dba02a77624daf28 /Examples/test-suite/php/li_constraints_runme.php | |
parent | a44a7de3481e5f59c08dd71ec89b30b7578a52b9 (diff) | |
parent | b6eaee8d1219619113f715a7ee35644bfd557f34 (diff) | |
download | swig-5b709dd1632580e52fbbf1385c66abccbd16b728.tar.gz |
Merge branch 'JS-check-fix'
Diffstat (limited to 'Examples/test-suite/php/li_constraints_runme.php')
-rw-r--r-- | Examples/test-suite/php/li_constraints_runme.php | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/Examples/test-suite/php/li_constraints_runme.php b/Examples/test-suite/php/li_constraints_runme.php new file mode 100644 index 000000000..35d523b9f --- /dev/null +++ b/Examples/test-suite/php/li_constraints_runme.php @@ -0,0 +1,68 @@ +<?php + +require "tests.php"; + +// New functions +check::functions(array('test_nonnegative', 'test_nonpositive', 'test_positive', + 'test_negative', 'test_nonzero', 'test_nonnull', 'get_nonnull')); +// New classes +check::classes(array('li_constraints')); +// No new vars +check::globals(array()); + +function check_double(bool $except, $fn, string $f, $val) { + $actual = true; + $d = doubleval($val); + try { + $fn($d); + } catch(ValueError $e) { + $actual = false; + $msg = $e->getMessage(); + } + $name = "test_" . str_replace("-", "", $f); + if($actual) { + check::equal($actual, $except, "Test '$name' with $val pass"); + } else { + check::equal($actual, $except, "Test '$name' throw exception with $val"); + check::equal($msg, "Expected a " . $f . " value.", "'$name' throw proper exception"); + } +} + +$nonnegative = function ($val) { test_nonnegative($val); }; +check_double(true, $nonnegative, "non-negative", 10); +check_double(true, $nonnegative, "non-negative", 0); +check_double(false, $nonnegative, "non-negative", -10); + +$nonpositive = function ($val) { test_nonpositive($val); }; +check_double(false, $nonpositive, "non-positive", 10); +check_double(true, $nonpositive, "non-positive", 0); +check_double(true, $nonpositive, "non-positive", -10); + +$positive = function ($val) { test_positive($val); }; +check_double(true, $positive, "positive", 10); +check_double(false, $positive, "positive", 0); +check_double(false, $positive, "positive", -10); + +$negative = function ($val) { test_negative($val); }; +check_double(false, $negative, "negative", 10); +check_double(false, $negative, "negative", 0); +check_double(true, $negative, "negative", -10); + +$nonzero = function ($val) { test_nonzero($val); }; +check_double(true, $nonzero, "nonzero", 10); +check_double(false, $nonzero, "nonzero", 0); +check_double(true, $nonzero, "nonzero", -10); + +$have_exception = false; +try { + test_nonnull(null); +} catch(ValueError $e) { + $msg = $e->getMessage(); + $have_exception = strcmp($msg, "Received a NULL pointer.") === 0; +} +if (!$have_exception) { + throw new Exception("test_nonnull should perform a proper exception with 'null' value"); +} + +$non_null = get_nonnull(); +test_nonnull($non_null); |