respect-validation/tests/unit/Rules/MaxTest.php

65 lines
1.7 KiB
PHP
Raw Normal View History

<?php
2015-06-08 16:47:14 +02:00
/*
* This file is part of Respect/Validation.
*
* (c) Alexandre Gomes Gaigalas <alexandre@gaigalas.net>
*
* For the full copyright and license information, please view the "LICENSE.md"
* file that was distributed with this source code.
*/
declare(strict_types=1);
namespace Respect\Validation\Rules;
use DateTime;
use DateTimeImmutable;
use Respect\Validation\Test\RuleTestCase;
use Respect\Validation\Test\Stubs\CountableStub;
2017-11-04 11:21:40 +01:00
/**
* @group rule
*
* @covers \Respect\Validation\Rules\AbstractComparison
2017-02-04 14:01:14 +01:00
* @covers \Respect\Validation\Rules\Max
*
* @author Alexandre Gomes Gaigalas <alexandre@gaigalas.net>
* @author Gabriel Caruso <carusogabriel34@gmail.com>
* @author Henrique Moody <henriquemoody@gmail.com>
*/
final class MaxTest extends RuleTestCase
{
/**
* {@inheritdoc}
*/
public function providerForValidInput(): array
{
2015-10-18 03:44:47 +02:00
return [
[new Max(10), 9],
[new Max(10), 10],
[new Max('2010-01-01'), '2000-01-01'],
[new Max(new DateTime('today')), new DateTimeImmutable('yesterday')],
[new Max('18 years ago'), '1988-09-09'],
[new Max('z'), 'a'],
[new Max(new CountableStub(3)), 2],
2015-10-18 03:44:47 +02:00
];
}
/**
* {@inheritdoc}
*/
public function providerForInvalidInput(): array
{
2015-10-18 03:44:47 +02:00
return [
[new Max(10), 11],
[new Max(new DateTimeImmutable('today')), new DateTime('tomorrow')],
[new Max('now'), '+1 minute'],
[new Max('B'), 'C'],
[new Max(new CountableStub(3)), 4],
2018-08-01 20:20:11 +02:00
[new Max(1900), '2018-01-25'],
[new Max(10.5), '2018-01-25'],
2015-10-18 03:44:47 +02:00
];
}
}