. */ namespace App\Tests\Services\LabelSystem\PlaceholderProviders; use App\Entity\Contracts\NamedElementInterface; use App\Services\LabelSystem\PlaceholderProviders\NamedElementProvider; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; class NamedElementProviderTest extends WebTestCase { /** * @var NamedElementProvider */ protected $service; protected $target; protected function setUp(): void { self::bootKernel(); $this->service = self::$container->get(NamedElementProvider::class); $this->target = new class() implements NamedElementInterface { public function getName(): string { return 'This is my Name'; } }; } public function dataProvider(): array { return [ ['This is my Name', '[[NAME]]'], ]; } /** * @dataProvider dataProvider */ public function testReplace(string $expected, string $placeholder): void { $this->assertSame($expected, $this->service->replace($placeholder, $this->target)); } }