Skip to content
This repository was archived by the owner on Jan 21, 2020. It is now read-only.

Commit eb351af

Browse files
committed
Create AbstractExpressiveContainerConfigTest with required test traits composed
This patch builds on [a comment on #2](#2 (comment)). First, it renames `ContainerTest` to `AbstractContainerTest`, in order to follow our naming guidelines for abstract classes. Second, it introduces `ExpressiveTestTrait`, which composes the various traits that are _required_ by implementations in order to be compatible with Expressive configuration. Third, it modifies `AllTestTrait` to use `ExpressiveTestTrait` as well as `SharedTestTrait`. Fourth, it introduces `AbstractExpressiveContainerConfigTest`, which extends `AbstractContainerTest` and composes `ExpressiveTestTrait`. Fifth, it removes the `BaseContainerTest` as redundant to the new `AbstractExpressiveContainerConfigTest`, and updates all test classes to extend it.
1 parent fe1105c commit eb351af

7 files changed

+40
-15
lines changed

src/ContainerTest.php renamed to src/AbstractContainerTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
use PHPUnit\Framework\TestCase;
1313
use Psr\Container\ContainerInterface;
1414

15-
abstract class ContainerTest extends TestCase
15+
abstract class AbstractContainerTest extends TestCase
1616
{
1717
abstract protected function createContainer(array $config) : ContainerInterface;
1818
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
/**
3+
* @see https://github.com/zendframework/zend-container-config-test for the canonical source repository
4+
* @copyright Copyright (c) 2018 Zend Technologies USA Inc. (https://www.zend.com)
5+
* @license https://github.com/zendframework/zend-container-config-test/blob/master/LICENSE.md New BSD License
6+
*/
7+
8+
declare(strict_types=1);
9+
10+
namespace Zend\ContainerConfigTest;
11+
12+
/**
13+
* Extend this class and implement createContainer in order to verify that
14+
* your container implementation will work as expected when provided with
15+
* Expressive DI container configuration.
16+
*/
17+
abstract class AbstractExpressiveContainerConfigTest extends AbstractContainerTest
18+
{
19+
use AliasTestTrait;
20+
use DelegatorTestTrait;
21+
use FactoryTestTrait;
22+
use InvokableTestTrait;
23+
use ServiceTestTrait;
24+
}

src/AllTestTrait.php

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@
1111

1212
trait AllTestTrait
1313
{
14-
use AliasTestTrait;
15-
use DelegatorTestTrait;
16-
use FactoryTestTrait;
17-
use InvokableTestTrait;
18-
use ServiceTestTrait;
14+
use ExpressiveTestTrait;
15+
use SharedTestTrait;
1916
}

test/BaseContainerTest.php renamed to src/ExpressiveTestTrait.php

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,13 @@
77

88
declare(strict_types=1);
99

10-
namespace ZendTest\ContainerConfigTest;
10+
namespace Zend\ContainerConfigTest;
1111

12-
use Zend\ContainerConfigTest\AllTestTrait;
13-
use Zend\ContainerConfigTest\ContainerTest;
14-
15-
abstract class BaseContainerTest extends ContainerTest
12+
trait ExpressiveTestTrait
1613
{
17-
use AllTestTrait;
14+
use AliasTestTrait;
15+
use DelegatorTestTrait;
16+
use FactoryTestTrait;
17+
use InvokableTestTrait;
18+
use ServiceTestTrait;
1819
}

test/AuraDiTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@
1212
use Psr\Container\ContainerInterface;
1313
use Zend\AuraDi\Config\Config;
1414
use Zend\AuraDi\Config\ContainerFactory;
15+
use Zend\ContainerConfigTest\AbstractExpressiveContainerConfigTest;
1516

16-
class AuraDiTest extends BaseContainerTest
17+
class AuraDiTest extends AbstractExpressiveContainerConfigTest
1718
{
1819
public function createContainer(array $config) : ContainerInterface
1920
{

test/PimpleTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,11 @@
1010
namespace ZendTest\ContainerConfigTest;
1111

1212
use Psr\Container\ContainerInterface;
13+
use Zend\ContainerConfigTest\AbstractExpressiveContainerConfigTest;
1314
use Zend\Pimple\Config\Config;
1415
use Zend\Pimple\Config\ContainerFactory;
1516

16-
class PimpleTest extends BaseContainerTest
17+
class PimpleTest extends AbstractExpressiveContainerConfigTest
1718
{
1819
public function createContainer(array $config) : ContainerInterface
1920
{

test/ServiceManagerTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,11 @@
1010
namespace ZendTest\ContainerConfigTest;
1111

1212
use Psr\Container\ContainerInterface;
13+
use Zend\ContainerConfigTest\AbstractExpressiveContainerConfigTest;
1314
use Zend\ContainerConfigTest\SharedTestTrait;
1415
use Zend\ServiceManager\ServiceManager;
1516

16-
class ServiceManagerTest extends BaseContainerTest
17+
class ServiceManagerTest extends AbstractExpressiveContainerConfigTest
1718
{
1819
use SharedTestTrait;
1920

0 commit comments

Comments
 (0)