1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
<?php
/**
* Test: Nette\Utils\Validators::isNumeric()
*/
declare(strict_types=1);
use Nette\Utils\Validators;
use Tester\Assert;
require __DIR__ . '/../bootstrap.php';
test('handles numeric strings with decimals and signs', function () {
Assert::true(Validators::isNumeric('1.0'));
Assert::true(Validators::isNumeric('1'));
Assert::true(Validators::isNumeric('-1'));
Assert::true(Validators::isNumeric('+1'));
Assert::true(Validators::isNumeric('.0'));
Assert::true(Validators::isNumeric('1.'));
Assert::true(Validators::isNumeric('01.10'));
});
test('processes numeric float values', function () {
Assert::true(Validators::isNumeric(1.0));
Assert::true(Validators::isNumeric(.0));
Assert::true(Validators::isNumeric(1.));
});
test('processes integer values', function () {
Assert::true(Validators::isNumeric(1));
Assert::true(Validators::isNumeric(-1));
Assert::true(Validators::isNumeric(+1));
});
test('rejects non-numeric formats and malformed numbers', function () {
Assert::false(Validators::isNumeric('.')); // it is not 0.0
Assert::false(Validators::isNumeric(' 1'));
Assert::false(Validators::isNumeric('1 '));
Assert::false(Validators::isNumeric('- 1'));
});
|