refactored AbstractFactory

This commit is contained in:
Dominik Liebler
2018-06-15 18:47:18 +02:00
parent bca6af02c0
commit 5954a570a8
15 changed files with 145 additions and 647 deletions

View File

@@ -2,27 +2,26 @@
namespace DesignPatterns\Creational\AbstractFactory\Tests;
use DesignPatterns\Creational\AbstractFactory\HtmlFactory;
use DesignPatterns\Creational\AbstractFactory\HtmlText;
use DesignPatterns\Creational\AbstractFactory\JsonFactory;
use DesignPatterns\Creational\AbstractFactory\JsonText;
use DesignPatterns\Creational\AbstractFactory\CsvParser;
use DesignPatterns\Creational\AbstractFactory\JsonParser;
use DesignPatterns\Creational\AbstractFactory\ParserFactory;
use PHPUnit\Framework\TestCase;
class AbstractFactoryTest extends TestCase
{
public function testCanCreateHtmlText()
public function testCanCreateCsvParser()
{
$factory = new HtmlFactory();
$text = $factory->createText('foobar');
$factory = new ParserFactory();
$parser = $factory->createCsvParser(CsvParser::OPTION_CONTAINS_HEADER);
$this->assertInstanceOf(HtmlText::class, $text);
$this->assertInstanceOf(CsvParser::class, $parser);
}
public function testCanCreateJsonText()
public function testCanCreateJsonParser()
{
$factory = new JsonFactory();
$text = $factory->createText('foobar');
$factory = new ParserFactory();
$parser = $factory->createJsonParser();
$this->assertInstanceOf(JsonText::class, $text);
$this->assertInstanceOf(JsonParser::class, $parser);
}
}