packages/sql-catalog/tests/Unit/Core/Sql/PlaceholderRefTest.php

1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Core\Sql;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\TestCase;
9use SqlCatalog\Core\Sql\PlaceholderRef;
10
11#[CoversClass(PlaceholderRef::class)]
12final class PlaceholderRefTest extends TestCase
13{
14    public function testIsPositionalWhenThereIsNoName(): void
15    {
16        self::assertTrue((new PlaceholderRef('?', 0))->isPositional());
17        self::assertFalse((new PlaceholderRef(':id', 0, 'id'))->isPositional());
18    }
19
20    public function testKeyIsTheNameOrThePosition(): void
21    {
22        self::assertSame('id', (new PlaceholderRef(':id', 3, 'id'))->key());
23        self::assertSame('3', (new PlaceholderRef('?', 3))->key());
24    }
25}
26