fix: classes renaming to correspond to UML diagram

This commit is contained in:
Mathieu
2024-04-18 11:23:38 +02:00
parent 13af79cc5e
commit 3a8af1c42f
6 changed files with 20 additions and 20 deletions

View File

@@ -4,19 +4,19 @@ declare(strict_types=1);
namespace DesignPatterns\Behavioral\State;
class OrderContext
class ContextOrder
{
private State $state;
private StateOrder $state;
public static function create(): OrderContext
public static function create(): ContextOrder
{
$order = new self();
$order->state = new StateCreated();
$order->state = new CreateOrder();
return $order;
}
public function setState(State $state)
public function setState(StateOrder $state)
{
$this->state = $state;
}

View File

@@ -4,11 +4,11 @@ declare(strict_types=1);
namespace DesignPatterns\Behavioral\State;
class StateCreated implements State
class CreateOrder implements StateOrder
{
public function proceedToNext(OrderContext $context)
public function proceedToNext(ContextOrder $context)
{
$context->setState(new StateShipped());
$context->setState(new ShippingOrder());
}
public function toString(): string

View File

@@ -4,9 +4,9 @@ declare(strict_types=1);
namespace DesignPatterns\Behavioral\State;
class StateDone implements State
class OrderDone implements StateOrder
{
public function proceedToNext(OrderContext $context)
public function proceedToNext(ContextOrder $context)
{
// there is nothing more to do
}

View File

@@ -4,11 +4,11 @@ declare(strict_types=1);
namespace DesignPatterns\Behavioral\State;
class StateShipped implements State
class ShippingOrder implements StateOrder
{
public function proceedToNext(OrderContext $context)
public function proceedToNext(ContextOrder $context)
{
$context->setState(new StateDone());
$context->setState(new OrderDone());
}
public function toString(): string

View File

@@ -4,9 +4,9 @@ declare(strict_types=1);
namespace DesignPatterns\Behavioral\State;
interface State
interface StateOrder
{
public function proceedToNext(OrderContext $context);
public function proceedToNext(ContextOrder $context);
public function toString(): string;
}

View File

@@ -4,21 +4,21 @@ declare(strict_types=1);
namespace DesignPatterns\Behavioral\State\Tests;
use DesignPatterns\Behavioral\State\OrderContext;
use DesignPatterns\Behavioral\State\ContextOrder;
use PHPUnit\Framework\TestCase;
class StateTest extends TestCase
{
public function testIsCreatedWithStateCreated()
{
$orderContext = OrderContext::create();
$orderContext = ContextOrder::create();
$this->assertSame('created', $orderContext->toString());
}
public function testCanProceedToStateShipped()
{
$contextOrder = OrderContext::create();
$contextOrder = ContextOrder::create();
$contextOrder->proceedToNext();
$this->assertSame('shipped', $contextOrder->toString());
@@ -26,7 +26,7 @@ class StateTest extends TestCase
public function testCanProceedToStateDone()
{
$contextOrder = OrderContext::create();
$contextOrder = ContextOrder::create();
$contextOrder->proceedToNext();
$contextOrder->proceedToNext();
@@ -35,7 +35,7 @@ class StateTest extends TestCase
public function testStateDoneIsTheLastPossibleState()
{
$contextOrder = OrderContext::create();
$contextOrder = ContextOrder::create();
$contextOrder->proceedToNext();
$contextOrder->proceedToNext();
$contextOrder->proceedToNext();