assertSame('created', $orderContext->toString()); } public function testCanProceedToStateShipped(): void { $contextOrder = ContextOrder::create(); $contextOrder->proceedToNext(); $this->assertSame('shipped', $contextOrder->toString()); } public function testCanProceedToStateDone(): void { $contextOrder = ContextOrder::create(); $contextOrder->proceedToNext(); $contextOrder->proceedToNext(); $this->assertSame('done', $contextOrder->toString()); } public function testStateDoneIsTheLastPossibleState(): void { $contextOrder = ContextOrder::create(); $contextOrder->proceedToNext(); $contextOrder->proceedToNext(); $contextOrder->proceedToNext(); $this->assertSame('done', $contextOrder->toString()); } }