packages/sql-catalog/tests/Unit/Core/Catalog/SeverityTest.php

1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Core\Catalog;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\TestCase;
9use SqlCatalog\Core\Catalog\Severity;
10
11#[CoversClass(Severity::class)]
12final class SeverityTest extends TestCase
13{
14    public function testRankOrdersTheSeverities(): void
15    {
16        self::assertSame(3, Severity::High->rank());
17        self::assertSame(2, Severity::Medium->rank());
18        self::assertSame(1, Severity::Low->rank());
19        self::assertSame(0, Severity::Info->rank());
20    }
21
22    public function testAtLeastComparesByRank(): void
23    {
24        self::assertTrue(Severity::High->atLeast(Severity::Medium));
25        self::assertTrue(Severity::Medium->atLeast(Severity::Medium));
26        self::assertFalse(Severity::Low->atLeast(Severity::Medium));
27    }
28}
29