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