* SPDX-FileContributor: Andre Ramaciotti * SPDX-FileContributor: Bradyn Poulsen * SPDX-FileContributor: Gabriel Caruso * SPDX-FileContributor: Henrique Moody * SPDX-FileContributor: Nick Lombard * SPDX-FileContributor: Pascal Borreli * SPDX-FileContributor: Torben Brodt * SPDX-FileContributor: Vicente Mendoza */ declare(strict_types=1); namespace Respect\Validation\Validators; use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\Attributes\Group; use Respect\Validation\Test\RuleTestCase; use Respect\Validation\Test\Validators\Stub; #[Group('validator')] #[CoversClass(OneOf::class)] final class OneOfTest extends RuleTestCase { /** @return iterable */ public static function providerForValidInput(): iterable { yield 'fail, pass' => [new OneOf(Stub::fail(1), Stub::pass(1)), []]; yield 'pass, fail' => [new OneOf(Stub::pass(1), Stub::fail(1)), []]; yield 'pass, fail, fail' => [new OneOf(Stub::pass(1), Stub::fail(1), Stub::fail(1)), []]; yield 'fail, pass, fail' => [new OneOf(Stub::fail(1), Stub::pass(1), Stub::fail(1)), []]; yield 'fail, fail, pass' => [new OneOf(Stub::fail(1), Stub::fail(1), Stub::pass(1)), []]; } /** @return iterable */ public static function providerForInvalidInput(): iterable { yield 'fail, fail' => [new OneOf(Stub::fail(1), Stub::fail(1)), []]; yield 'fail, fail, fail' => [new OneOf(Stub::fail(1), Stub::fail(1), Stub::fail(1)), []]; yield 'fail, pass, pass' => [new OneOf(Stub::fail(1), Stub::pass(1), Stub::pass(1)), []]; } }