PHP7 Singleton und Multiton

This commit is contained in:
Dominik Liebler
2016-09-22 13:15:24 +02:00
parent 4cf817b143
commit 6a98bcb73b
5 changed files with 37 additions and 66 deletions

View File

@@ -0,0 +1,27 @@
<?php
namespace DesignPatterns\Creational\Singleton\Tests;
use DesignPatterns\Creational\Multiton\Multiton;
class MultitonTest extends \PHPUnit_Framework_TestCase
{
public function testUniqueness()
{
$firstCall = Multiton::getInstance(Multiton::INSTANCE_1);
$secondCall = Multiton::getInstance(Multiton::INSTANCE_1);
$this->assertInstanceOf('DesignPatterns\Creational\Multiton\Multiton', $firstCall);
$this->assertSame($firstCall, $secondCall);
}
public function testUniquenessForEveryInstance()
{
$firstCall = Multiton::getInstance(Multiton::INSTANCE_1);
$secondCall = Multiton::getInstance(Multiton::INSTANCE_2);
$this->assertInstanceOf('DesignPatterns\Creational\Multiton\Multiton', $firstCall);
$this->assertInstanceOf('DesignPatterns\Creational\Multiton\Multiton', $secondCall);
$this->assertNotSame($firstCall, $secondCall);
}
}