reworked the Mediator pattern

This commit is contained in:
Dominik Liebler
2019-08-22 16:00:47 +02:00
parent 0d24d48c26
commit 6d2f308401
11 changed files with 70 additions and 120 deletions

View File

@@ -2,20 +2,18 @@
namespace DesignPatterns\Tests\Mediator\Tests;
use DesignPatterns\Behavioral\Mediator\ConcreteMediator;
use DesignPatterns\Behavioral\Mediator\Subsystem\Client;
use DesignPatterns\Behavioral\Mediator\Subsystem\Database;
use DesignPatterns\Behavioral\Mediator\Subsystem\Server;
use DesignPatterns\Behavioral\Mediator\Ui;
use DesignPatterns\Behavioral\Mediator\UserRepository;
use DesignPatterns\Behavioral\Mediator\UserRepositoryUiMediator;
use PHPUnit\Framework\TestCase;
class MediatorTest extends TestCase
{
public function testOutputHelloWorld()
{
$client = new Client();
new ConcreteMediator(new Database(), $client, new Server());
$mediator = new UserRepositoryUiMediator(new UserRepository(), new UI());
$this->expectOutputString('Hello World');
$client->request();
$this->expectOutputString('User: Dominik');
$mediator->printInfoAbout('Dominik');
}
}