packages/sql-faker/tests/Unit/MySql/StatementTypeTest.php
1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\SqlFaker\MySql;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\Attributes\UsesClass;
9use PHPUnit\Framework\TestCase;
10use SqlFaker\MySql\Generation\StatementRule;
11use SqlFaker\MySql\StatementType;
12
13#[CoversClass(StatementType::class)]
14#[UsesClass(StatementRule::class)]
15#[UsesClass(\SqlFaker\Generation\Derivation\CompletionCosts::class)]
16#[UsesClass(\SqlFaker\Generation\Derivation\DerivationNode::class)]
17final class StatementTypeTest extends TestCase
18{
19 public function testAliasPreservesAllProviderStatementCases(): void
20 {
21 self::assertSame(StatementRule::cases(), StatementType::cases());
22 }
23
24 public function testAliasPreservesBackedValueLookup(): void
25 {
26 self::assertSame(StatementRule::Select, StatementType::from(StatementRule::Select->value));
27 }
28}
29