respect-validation/tests/unit/CloneValidatorFactoryTest.php
Henrique Moody fd7438f9c7
Use a DI container to create instances of Validator
The `ValidatorDefaults` is cumbersome, and customising it can be
annoying. Most projects use some sort of dependency injection container,
and by integrating the creation of the `Validator` with the PSR-11, we
allow users to easily customise how they create validators.

Some tasks, like overwriting the `Translator`, become a bit more
verbose, if the user is not already using a PSR-11 container, but I
think that’s a good tradeoff.
2025-12-22 13:12:04 +01:00

31 lines
736 B
PHP

<?php
/*
* Copyright (c) Alexandre Gomes Gaigalas <alganet@gmail.com>
* SPDX-License-Identifier: MIT
*/
declare(strict_types=1);
namespace Respect\Validation;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\Group;
use PHPUnit\Framework\Attributes\Test;
use Respect\Validation\Test\TestCase;
#[Group('core')]
#[CoversClass(CloneValidatorFactory::class)]
final class CloneValidatorFactoryTest extends TestCase
{
#[Test]
public function itClonesTheGivenValidatorToCreateAnotherOne(): void
{
$original = Validator::create();
$factory = new CloneValidatorFactory($original);
$created = $factory->create();
self::assertNotSame($original, $created);
}
}