packages/sql-faker/tests/Unit/Generation/Token/ProductionOccurrenceTest.php

1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\SqlFaker\Generation\Token;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\TestCase;
9use SqlFaker\Generation\Token\ProductionOccurrence;
10
11#[CoversClass(ProductionOccurrence::class)]
12
13final class ProductionOccurrenceTest extends TestCase
14{
15    public function testPreservesDistinctOccurrencesOfOneAlternative(): void
16    {
17        $first = new ProductionOccurrence(1, 0, 'expr', 2);
18        $second = new ProductionOccurrence(4, 3, 'expr', 2);
19        self::assertNotSame($first->id, $second->id);
20        self::assertNotSame($first->parent, $second->parent);
21        self::assertSame($first->rule, $second->rule);
22        self::assertSame($first->ordinal, $second->ordinal);
23    }
24}
25