<?php

declare(strict_types=1);

namespace Seka\Vzdelavanie\Models\Testovanie;

/**
 * Enum DruhSpravnejOdpovedeEnum
 *
 * @package Seka\Vzdelavanie\Models\Testovanie
 */
enum DruhSpravnejOdpovedeEnum: string
{
    case ZIADNA = 'ZIADNA';
    case JEDNA = 'JEDNA';
    case MINIMALNE_JEDNA = 'MINIMALNE_JEDNA';
    case DVE = 'DVE';
    case TRI = 'TRI';

    /**
     * @return string
     */
    public function getLabel(): string
    {
        return match ($this) {
            self::ZIADNA, self::JEDNA, self::MINIMALNE_JEDNA, self::DVE, self::TRI => self::labels()[$this->value],
        };
    }

    /**
     * @return string[]
     */
    protected static function labels(): array
    {
        return [
            'ZIADNA' => 'žiadna správna odpoveď',
            'JEDNA' => 'jedna správna odpoveď',
            'MINIMALNE_JEDNA' => 'minimálne jedna správna odpoveď',
            'DVE' => 'dve správne odpovede',
            'TRI' => 'tri správne odpovede',
        ];
    }
}
