createFactory(); $this->assertSame($expected, $factory->supports(new Dsn($dsn))); } public function testCreate(string $expected, string $dsn) { $factory = $this->createFactory(); $provider = $factory->create(new Dsn($dsn)); $this->assertSame($expected, (string) $provider); } public function testUnsupportedSchemeException(string $dsn, ?string $message = null) { $factory = $this->createFactory(); $dsn = new Dsn($dsn); $this->expectException(UnsupportedSchemeException::class); if (null !== $message) { $this->expectExceptionMessage($message); } $factory->create($dsn); } public function testIncompleteDsnException(string $dsn, ?string $message = null) { $factory = $this->createFactory(); $dsn = new Dsn($dsn); $this->expectException(IncompleteDsnException::class); if (null !== $message) { $this->expectExceptionMessage($message); } $factory->create($dsn); } protected function getClient() : HttpClientInterface { return $this->client ?? ($this->client = new MockHttpClient()); } protected function getLogger() : LoggerInterface { return $this->logger ?? ($this->logger = $this->createMock(LoggerInterface::class)); } protected function getDefaultLocale() : string { return $this->defaultLocale ?? ($this->defaultLocale = 'en'); } protected function getLoader() : LoaderInterface { return $this->loader ?? ($this->loader = $this->createMock(LoaderInterface::class)); } protected function getXliffFileDumper() : XliffFileDumper { return $this->xliffFileDumper ?? ($this->xliffFileDumper = $this->createMock(XliffFileDumper::class)); } }