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