Validators.isNumeric().phpt 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. /**
  3. * Test: Nette\Utils\Validators::isNumeric()
  4. */
  5. declare(strict_types=1);
  6. use Nette\Utils\Validators;
  7. use Tester\Assert;
  8. require __DIR__ . '/../bootstrap.php';
  9. test('Valid numbers by string', function () {
  10. Assert::true(Validators::isNumeric('1.0'));
  11. Assert::true(Validators::isNumeric('1'));
  12. Assert::true(Validators::isNumeric('-1'));
  13. Assert::true(Validators::isNumeric('+1'));
  14. Assert::true(Validators::isNumeric('.0'));
  15. Assert::true(Validators::isNumeric('1.'));
  16. Assert::true(Validators::isNumeric('01.10'));
  17. });
  18. test('Valid numbers by float', function () {
  19. Assert::true(Validators::isNumeric(1.0));
  20. Assert::true(Validators::isNumeric(.0));
  21. Assert::true(Validators::isNumeric(1.));
  22. });
  23. test('Valid numbers by int', function () {
  24. Assert::true(Validators::isNumeric(1));
  25. Assert::true(Validators::isNumeric(-1));
  26. Assert::true(Validators::isNumeric(+1));
  27. });
  28. test('Invalid numbers', function () {
  29. Assert::false(Validators::isNumeric('.')); // it is not 0.0
  30. Assert::false(Validators::isNumeric(' 1'));
  31. Assert::false(Validators::isNumeric('1 '));
  32. Assert::false(Validators::isNumeric('- 1'));
  33. });