mirror of
https://github.com/DesignPatternsPHP/DesignPatternsPHP.git
synced 2025-07-28 18:50:11 +02:00
37 lines
976 B
PHP
37 lines
976 B
PHP
<?php
|
|
|
|
namespace DesignPatterns\More\ServiceLocator\Tests;
|
|
|
|
use DesignPatterns\More\ServiceLocator\LogService;
|
|
use DesignPatterns\More\ServiceLocator\ServiceLocator;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
class ServiceLocatorTest extends TestCase
|
|
{
|
|
/**
|
|
* @var ServiceLocator
|
|
*/
|
|
private $serviceLocator;
|
|
|
|
public function setUp()
|
|
{
|
|
$this->serviceLocator = new ServiceLocator();
|
|
}
|
|
|
|
public function testHasServices()
|
|
{
|
|
$this->serviceLocator->addInstance(LogService::class, new LogService());
|
|
|
|
$this->assertTrue($this->serviceLocator->has(LogService::class));
|
|
$this->assertFalse($this->serviceLocator->has(self::class));
|
|
}
|
|
|
|
public function testGetWillInstantiateLogServiceIfNoInstanceHasBeenCreatedYet()
|
|
{
|
|
$this->serviceLocator->addClass(LogService::class, []);
|
|
$logger = $this->serviceLocator->get(LogService::class);
|
|
|
|
$this->assertInstanceOf(LogService::class, $logger);
|
|
}
|
|
}
|