packages/sql-faker/tests/Unit/Generation/Lexeme/LexemeTest.php
1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\SqlFaker\Generation\Lexeme;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\Attributes\UsesClass;
9use PHPUnit\Framework\TestCase;
10use SqlFaker\Generation\Lexeme\Lexeme;
11use SqlFaker\Generation\Token\TerminalOccurrence;
12
13#[CoversClass(Lexeme::class)]
14#[UsesClass(TerminalOccurrence::class)]
15final class LexemeTest extends TestCase
16{
17 public function testRetainsCompoundAndOccurrenceProvenance(): void
18 {
19 $origin = new TerminalOccurrence('WITH_ROLLUP', 7);
20 $lexeme = new Lexeme('ROLLUP', 'keyword', $origin, 'sql_lex.cc:with', 'with-rollup');
21 self::assertSame($origin, $lexeme->origin);
22 self::assertSame('with-rollup', $lexeme->phrase);
23 self::assertSame('ROLLUP', $lexeme->text);
24 }
25}
26