packages/sql-faker/tests/Unit/Compiler/Bison/Ast/BisonTokenDefinitionTest.php
1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\SqlFaker\Compiler\Bison\Ast;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\TestCase;
9use SqlFaker\Compiler\Bison\Ast\BisonTokenDefinition;
10
11#[CoversClass(BisonTokenDefinition::class)]
12final class BisonTokenDefinitionTest extends TestCase
13{
14 public function testName(): void
15 {
16 $info = new BisonTokenDefinition('SELECT', null, null);
17
18 self::assertSame('SELECT', $info->name);
19 }
20
21 public function testNumber(): void
22 {
23 $info = new BisonTokenDefinition('TOKEN', 42, null);
24
25 self::assertSame(42, $info->number);
26 }
27
28 public function testNumberNull(): void
29 {
30 $info = new BisonTokenDefinition('TOKEN', null, null);
31
32 self::assertNull($info->number);
33 }
34
35 public function testAlias(): void
36 {
37 $info = new BisonTokenDefinition('TOKEN', null, '"alias"');
38
39 self::assertSame('"alias"', $info->alias);
40 }
41
42 public function testAliasNull(): void
43 {
44 $info = new BisonTokenDefinition('TOKEN', null, null);
45
46 self::assertNull($info->alias);
47 }
48}
49