packages/sql-parser/tests/Unit/Automaton/BuildResultTest.php
1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Automaton;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\Attributes\Small;
9use PHPUnit\Framework\Attributes\UsesClass;
10use PHPUnit\Framework\TestCase;
11use SqlParser\Automaton\BuildResult;
12use SqlParser\Automaton\ConflictSummary;
13use SqlParser\Grammar\SymbolTable;
14use SqlParser\Table\ArrayRows;
15use SqlParser\Table\ParseTable;
16
17#[CoversClass(BuildResult::class)]
18#[UsesClass(ArrayRows::class)]
19#[UsesClass(ConflictSummary::class)]
20#[UsesClass(ParseTable::class)]
21#[UsesClass(SymbolTable::class)]
22#[Small]
23final class BuildResultTest extends TestCase
24{
25 public function testPropertiesAreKept(): void
26 {
27 $table = new ParseTable(new SymbolTable(['$end'], ['$accept']), [], [], new ArrayRows([]));
28 $conflicts = new ConflictSummary(0, 0, null);
29 $result = new BuildResult($table, $conflicts, 7);
30
31 self::assertSame($table, $result->table);
32 self::assertSame($conflicts, $result->conflicts);
33 self::assertSame(7, $result->stateCount);
34 }
35}
36