Lines 100.00% 4 / 4
Methods 100.00% 4 / 4
Classes 100.00% 1 / 1
Name Lines Methods CRAP
 __construct 100.00% 1 / 1 100.00% 1 / 1 1
 badge 100.00% 1 / 1 100.00% 1 / 1 2
 levelName 100.00% 1 / 1 100.00% 1 / 1 2
 onyxCount 100.00% 1 / 1 100.00% 1 / 1 1
10final readonly class MedalLevel
11{
12    public function __construct(
13        public Medal $medal,
14        public ?int $value,
15        public int $level,
16    ) {
17    }
18
19    public function badge(): ?string
20    {
21        return $this->level > 0 ? $this->medal->badge($this->level) : null;
22    }
23
24    public function levelName(): string
25    {
26        return $this->level > 0 ? \array_values(Medal::TIERS)[$this->level - 1] : 'Locked';
27    }
28
29    public function onyxCount(): int
30    {
31        return $this->medal->onyxCount($this->value);
32    }
33}