mirror of https://github.com/swig/swig
69 lines
2.1 KiB
PHP
69 lines
2.1 KiB
PHP
<?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);
|