Files
DesignPatternsPHP/Behavioral/State/Tests/StateTest.php
2024-04-18 11:25:59 +02:00

46 lines
1.1 KiB
PHP

<?php
declare(strict_types=1);
namespace DesignPatterns\Behavioral\State\Tests;
use DesignPatterns\Behavioral\State\ContextOrder;
use PHPUnit\Framework\TestCase;
class StateTest extends TestCase
{
public function testIsCreatedWithStateCreated(): void
{
$orderContext = ContextOrder::create();
$this->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());
}
}