for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace Yiisoft\Validator\Tests\Rule\Base;
use PHPUnit\Framework\TestCase;
use Yiisoft\Validator\Tests\Support\ValidatorFactory;
abstract class RuleTestCase extends TestCase
{
abstract public function dataValidationPassed(): array;
/**
* @dataProvider dataValidationPassed
*/
public function testValidationPassed(mixed $data, array $rules): void
$result = ValidatorFactory::make()->validate($data, $rules);
$this->assertTrue($result->isValid());
}
abstract public function dataValidationFailed(): array;
* @dataProvider dataValidationFailed
public function testValidationFailed(mixed $data, array|null $rules, array $errorMessagesIndexedByPath): void
$this->assertFalse($result->isValid());
$this->assertSame($errorMessagesIndexedByPath, $result->getErrorMessagesIndexedByPath());