diff --git a/Behavioral/State/OrderContext.php b/Behavioral/State/ContextOrder.php similarity index 65% rename from Behavioral/State/OrderContext.php rename to Behavioral/State/ContextOrder.php index c18961c..76e5631 100644 --- a/Behavioral/State/OrderContext.php +++ b/Behavioral/State/ContextOrder.php @@ -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; } diff --git a/Behavioral/State/StateCreated.php b/Behavioral/State/CreateOrder.php similarity index 53% rename from Behavioral/State/StateCreated.php rename to Behavioral/State/CreateOrder.php index 22c184a..a72711c 100644 --- a/Behavioral/State/StateCreated.php +++ b/Behavioral/State/CreateOrder.php @@ -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 diff --git a/Behavioral/State/StateDone.php b/Behavioral/State/OrderDone.php similarity index 68% rename from Behavioral/State/StateDone.php rename to Behavioral/State/OrderDone.php index 6ee3fde..e7c596f 100644 --- a/Behavioral/State/StateDone.php +++ b/Behavioral/State/OrderDone.php @@ -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 } diff --git a/Behavioral/State/StateShipped.php b/Behavioral/State/ShippingOrder.php similarity index 54% rename from Behavioral/State/StateShipped.php rename to Behavioral/State/ShippingOrder.php index d883413..6ad0256 100644 --- a/Behavioral/State/StateShipped.php +++ b/Behavioral/State/ShippingOrder.php @@ -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 diff --git a/Behavioral/State/State.php b/Behavioral/State/StateOrder.php similarity index 60% rename from Behavioral/State/State.php rename to Behavioral/State/StateOrder.php index ed88495..eeb9021 100644 --- a/Behavioral/State/State.php +++ b/Behavioral/State/StateOrder.php @@ -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; } diff --git a/Behavioral/State/Tests/StateTest.php b/Behavioral/State/Tests/StateTest.php index 721efee..d357e83 100644 --- a/Behavioral/State/Tests/StateTest.php +++ b/Behavioral/State/Tests/StateTest.php @@ -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();