summaryrefslogtreecommitdiff
path: root/tests/Unit/Container
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Unit/Container')
-rw-r--r--tests/Unit/Container/ContainerTest.php104
-rw-r--r--tests/Unit/Container/ServiceProviderTest.php22
-rw-r--r--tests/Unit/Container/Stub/ServiceProviderImplementation.php10
3 files changed, 32 insertions, 104 deletions
diff --git a/tests/Unit/Container/ContainerTest.php b/tests/Unit/Container/ContainerTest.php
deleted file mode 100644
index 89c34209..00000000
--- a/tests/Unit/Container/ContainerTest.php
+++ /dev/null
@@ -1,104 +0,0 @@
-<?php
-
-namespace Engelsystem\Test\Config;
-
-use Engelsystem\Container\Container;
-use PHPUnit\Framework\TestCase;
-
-class ContainerTest extends TestCase
-{
- /**
- * @covers \Engelsystem\Container\Container::get
- */
- public function testGet()
- {
- $container = new Container();
- $class = new class
- {
- };
-
- $container->instance('foo', $class);
- $this->assertSame($class, $container->get('foo'));
- }
-
- /**
- * @covers \Engelsystem\Container\Container::get
- * @expectedException \Engelsystem\Container\NotFoundException
- */
- public function testGetException()
- {
- $container = new Container();
-
- $container->get('not.registered.service');
- }
-
- /**
- * @covers \Engelsystem\Container\Container::instance
- * @covers \Engelsystem\Container\Container::resolve
- */
- public function testInstance()
- {
- $container = new Container();
- $class = new class
- {
- };
-
- $container->instance('foo', $class);
- $this->assertSame($class, $container->get('foo'));
- }
-
- /**
- * @covers \Engelsystem\Container\Container::has
- */
- public function testHas()
- {
- $container = new Container();
-
- $this->assertFalse($container->has('test'));
-
- $class = new class
- {
- };
-
- $container->instance('test', $class);
- $this->assertTrue($container->has('test'));
- }
-
- /**
- * @covers \Engelsystem\Container\Container::singleton
- */
- public function testSingleton()
- {
- $container = new Container();
- $class = new class
- {
- };
-
- $container->singleton('foo', $class);
- $this->assertSame($class, $container->get('foo'));
- $this->assertSame($class, $container->get('foo'));
- }
-
- /**
- * @covers \Engelsystem\Container\Container::setInstance
- * @covers \Engelsystem\Container\Container::getInstance
- */
- public function testContainerSingleton()
- {
- // Ensure that no container has been initialized
- $reflection = new \ReflectionProperty(Container::class, 'instance');
- $reflection->setAccessible(true);
- $reflection->setValue(null, null);
- $reflection->setAccessible(false);
-
- $container0 = new Container();
- $container = Container::getInstance();
-
- $this->assertNotSame($container0, $container);
-
- $container1 = new Container;
- Container::setInstance($container1);
-
- $this->assertSame($container1, Container::getInstance());
- }
-}
diff --git a/tests/Unit/Container/ServiceProviderTest.php b/tests/Unit/Container/ServiceProviderTest.php
new file mode 100644
index 00000000..8a9cb76e
--- /dev/null
+++ b/tests/Unit/Container/ServiceProviderTest.php
@@ -0,0 +1,22 @@
+<?php
+
+namespace Engelsystem\Test\Unit\Container;
+
+use Engelsystem\Container\ServiceProvider;
+use Engelsystem\Test\Unit\Container\Stub\ServiceProviderImplementation;
+use Engelsystem\Test\Unit\ServiceProviderTest;
+
+class ConfigServiceProviderTest extends ServiceProviderTest
+{
+ /**
+ * @covers \Engelsystem\Container\ServiceProvider::__construct
+ */
+ public function testRegister()
+ {
+ $app = $this->getApp();
+
+ $serviceProvider = new ServiceProviderImplementation($app);
+
+ $this->assertInstanceOf(ServiceProvider::class, $serviceProvider);
+ }
+}
diff --git a/tests/Unit/Container/Stub/ServiceProviderImplementation.php b/tests/Unit/Container/Stub/ServiceProviderImplementation.php
new file mode 100644
index 00000000..36ae2c38
--- /dev/null
+++ b/tests/Unit/Container/Stub/ServiceProviderImplementation.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace Engelsystem\Test\Unit\Container\Stub;
+
+use Engelsystem\Container\ServiceProvider;
+
+class ServiceProviderImplementation extends ServiceProvider
+{
+
+}