* SPDX-FileContributor: Henrique Moody * SPDX-FileContributor: toxxxa */ declare(strict_types=1); namespace Respect\Validation\Validators; use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\Attributes\Group; use Respect\Validation\Test\RuleTestCase; use stdClass; use function acos; use function sqrt; use const NAN; #[Group('validator')] #[CoversClass(Decimal::class)] final class DecimalTest extends RuleTestCase { /** @return iterable */ public static function providerForValidInput(): iterable { return [ [new Decimal(0), 1], [new Decimal(1), 1.0], [new Decimal(2), 1.00], [new Decimal(3), 1.000], [new Decimal(2), 1.000], [new Decimal(1), 1.000], [new Decimal(2), '27990.50'], [new Decimal(1), 1.1], [new Decimal(1), '1.3'], [new Decimal(1), 1.50], [new Decimal(1), 10.0], [new Decimal(2), 10.00], [new Decimal(1), 10.50], [new Decimal(2), 10.50], [new Decimal(3), '1.000'], [new Decimal(3), 123456789.001], ]; } /** @return iterable */ public static function providerForInvalidInput(): iterable { return [ [new Decimal(1), '1.50'], [new Decimal(1), '27990.50'], [new Decimal(0), 2.0], [new Decimal(0), acos(1.01)], [new Decimal(0), sqrt(-1)], [new Decimal(0), NAN], [new Decimal(0), -NAN], [new Decimal(0), false], [new Decimal(0), true], [new Decimal(0), []], [new Decimal(0), new stdClass()], ]; } }