packages/ztd-query-core/tests/Unit/Schema/ColumnDeclarationTest.php

1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Schema;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\TestCase;
9use ZtdQuery\Schema\ColumnDeclaration;
10use ZtdQuery\Schema\ColumnTypeFamily;
11
12#[CoversClass(ColumnDeclaration::class)]
13final class ColumnDeclarationTest extends TestCase
14{
15    public function testKeepsTheFamilyAndTheNameTheDatabaseGivesTheType(): void
16    {
17        $type = new ColumnDeclaration(ColumnTypeFamily::INTEGER, 'INT');
18
19        self::assertSame(ColumnTypeFamily::INTEGER, $type->family);
20        self::assertSame('INT', $type->nativeType);
21    }
22
23    public function testDifferentFamilies(): void
24    {
25        $text = new ColumnDeclaration(ColumnTypeFamily::TEXT, 'TEXT');
26        $bool = new ColumnDeclaration(ColumnTypeFamily::BOOLEAN, 'BOOLEAN');
27
28        self::assertSame(ColumnTypeFamily::TEXT, $text->family);
29        self::assertSame(ColumnTypeFamily::BOOLEAN, $bool->family);
30    }
31
32}
33