packages/deriver/tests/Unit/Deriver/Lowerer/Declaration/Metadata/ClassConstantTest.php

1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Deriver\Lowerer\Declaration\Metadata;
6
7use Deriver\Deriver\Lowerer\Declaration\Metadata\ClassConstant;
8use PHPUnit\Framework\Attributes\CoversClass;
9use PHPUnit\Framework\Attributes\Small;
10use PHPUnit\Framework\TestCase;
11
12/**
13 * @covers \Deriver\Deriver\Lowerer\Declaration\Metadata\ClassConstant
14 */
15#[CoversClass(ClassConstant::class)]
16#[Small]
17final class ClassConstantTest extends TestCase
18{
19    public function testInitializePreservesTheDeclaredContract(): void
20    {
21        $constant = new ClassConstant('Box', 'A', \Deriver\Deriver\Lowerer\Declaration\Metadata\Visibility::Private, 'int');
22        self::assertSame('Box', $constant->className);
23        self::assertSame(\Deriver\Deriver\Lowerer\Declaration\Metadata\Visibility::Private, $constant->visibility);
24        self::assertSame('int', $constant->type);
25    }
26}
27