Files
DesignPatternsPHP/Behavioral/State/Tests/StateTest.php
ko22009 ad163dc353 State pattern is maintainable
state pattern change readme.rst
2017-04-27 09:43:34 +05:00

32 lines
823 B
PHP

<?php
namespace DesignPatterns\Behavioral\State\Tests;
use DesignPatterns\Behavioral\State\ContextOrder;
use DesignPatterns\Behavioral\State\CreateOrder;
use PHPUnit\Framework\TestCase;
class StateTest extends TestCase
{
public function testCanShipCreatedOrder()
{
$order = new CreateOrder();
$contextOrder = new ContextOrder();
$contextOrder->setState($order);
$contextOrder->done();
$this->assertEquals('shipping', $contextOrder->getStatus());
}
public function testCanCompleteShippedOrder()
{
$order = new CreateOrder();
$contextOrder = new ContextOrder();
$contextOrder->setState($order);
$contextOrder->done();
$contextOrder->done();
$this->assertEquals('completed', $contextOrder->getStatus());
}
}