respect-validation/tests/unit/Rules/NotOptionalTest.php
Henrique Moody ef975629f3
Changes on PHP-CS-Fixer configuration
Because of `declare(strict_types=1)` some changes were necessary.
2018-01-04 17:59:37 +01:00

72 lines
1.4 KiB
PHP

<?php
/*
* 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 PHPUnit\Framework\TestCase;
use stdClass;
/**
* @group rule
* @covers \Respect\Validation\Rules\NotOptional
*/
class NotOptionalTest extends TestCase
{
/**
* @dataProvider providerForNotOptional
*/
public function testShouldValidateWhenNotOptional($input): void
{
$rule = new NotOptional();
self::assertTrue($rule->validate($input));
}
/**
* @dataProvider providerForOptional
*/
public function testShouldNotValidateWhenOptional($input): void
{
$rule = new NotOptional();
self::assertFalse($rule->validate($input));
}
public function providerForNotOptional()
{
return [
[[]],
[' '],
[0],
['0'],
[0],
['0.0'],
[false],
[['']],
[[' ']],
[[0]],
[['0']],
[[false]],
[[[''], [0]]],
[new stdClass()],
];
}
public function providerForOptional()
{
return [
[null],
[''],
];
}
}