diff --git a/Behavioral/State/OrderContext.php b/Behavioral/State/ContextOrder.php similarity index 52% rename from Behavioral/State/OrderContext.php rename to Behavioral/State/ContextOrder.php index c18961c..3b64440 100644 --- a/Behavioral/State/OrderContext.php +++ b/Behavioral/State/ContextOrder.php @@ -4,29 +4,29 @@ 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): void { $this->state = $state; } - public function proceedToNext() + public function proceedToNext(): void { $this->state->proceedToNext($this); } - public function toString() + public function toString(): string { return $this->state->toString(); } diff --git a/Behavioral/State/StateCreated.php b/Behavioral/State/CreateOrder.php similarity index 52% rename from Behavioral/State/StateCreated.php rename to Behavioral/State/CreateOrder.php index 22c184a..1385871 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): void { - $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 67% rename from Behavioral/State/StateDone.php rename to Behavioral/State/OrderDone.php index 6ee3fde..5f1a3f7 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): void { // there is nothing more to do } diff --git a/Behavioral/State/README.rst b/Behavioral/State/README.rst index fb78606..6934b45 100644 --- a/Behavioral/State/README.rst +++ b/Behavioral/State/README.rst @@ -20,33 +20,33 @@ Code You can also find this code on `GitHub`_ -OrderContext.php +ContextOrder.php -.. literalinclude:: OrderContext.php +.. literalinclude:: ContextOrder.php :language: php :linenos: -State.php +StateOrder.php -.. literalinclude:: State.php +.. literalinclude:: StateOrder.php :language: php :linenos: -StateCreated.php +CreateOrder.php -.. literalinclude:: StateCreated.php +.. literalinclude:: CreateOrder.php :language: php :linenos: -StateShipped.php +ShippingOrder.php -.. literalinclude:: StateShipped.php +.. literalinclude:: ShippingOrder.php :language: php :linenos: -StateDone.php +OrderDone.php -.. literalinclude:: StateDone.php +.. literalinclude:: OrderDone.php :language: php :linenos: diff --git a/Behavioral/State/StateShipped.php b/Behavioral/State/ShippingOrder.php similarity index 53% rename from Behavioral/State/StateShipped.php rename to Behavioral/State/ShippingOrder.php index d883413..d82591d 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): void { - $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 58% rename from Behavioral/State/State.php rename to Behavioral/State/StateOrder.php index ed88495..1847158 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): void; public function toString(): string; } diff --git a/Behavioral/State/Tests/StateTest.php b/Behavioral/State/Tests/StateTest.php index 721efee..2b668e2 100644 --- a/Behavioral/State/Tests/StateTest.php +++ b/Behavioral/State/Tests/StateTest.php @@ -4,38 +4,38 @@ 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() + public function testIsCreatedWithStateCreated(): void { - $orderContext = OrderContext::create(); + $orderContext = ContextOrder::create(); $this->assertSame('created', $orderContext->toString()); } - public function testCanProceedToStateShipped() + public function testCanProceedToStateShipped(): void { - $contextOrder = OrderContext::create(); + $contextOrder = ContextOrder::create(); $contextOrder->proceedToNext(); $this->assertSame('shipped', $contextOrder->toString()); } - public function testCanProceedToStateDone() + public function testCanProceedToStateDone(): void { - $contextOrder = OrderContext::create(); + $contextOrder = ContextOrder::create(); $contextOrder->proceedToNext(); $contextOrder->proceedToNext(); $this->assertSame('done', $contextOrder->toString()); } - public function testStateDoneIsTheLastPossibleState() + public function testStateDoneIsTheLastPossibleState(): void { - $contextOrder = OrderContext::create(); + $contextOrder = ContextOrder::create(); $contextOrder->proceedToNext(); $contextOrder->proceedToNext(); $contextOrder->proceedToNext();