<?php

declare(strict_types=1);

namespace Seka\Portal\Modul\Statistiky\Tests\Unit\Entities\Zaznam\Enums;

use Seka\Portal\Modul\Statistiky\Entities\Zaznam\Enums\HodnotenieEmisnejKontrolyEnum;
use Seka\Portal\Modul\Statistiky\Tests\TestCase;

/**
 * Class HodnotenieEmisnejKontrolyEnumTest
 *
 * @package Seka\Portal\Modul\Statistiky\Tests\Unit\Entities\Zaznam\Enums
 */
class HodnotenieEmisnejKontrolyEnumTest extends TestCase
{
    /**
     *
     */
    public function testSPOSOBILE()
    {
        $this->testing('SPOSOBILE');
    }

    /**
     *
     */
    public function testNEHODNOTENE()
    {
        $this->testing('NEHODNOTENE');
    }

    /**
     *
     */
    public function testNESPOSOBILE()
    {
        $this->testing('NESPOSOBILE');
    }

    /**
     *
     */
    public function testDOCASNE_SPOSOBILE()
    {
        $this->testing('DOCASNE_SPOSOBILE');
    }

    /**
     *
     */
    public function testPocetDruhovZaznamu()
    {
        self::assertCount(4, HodnotenieEmisnejKontrolyEnum::toValues());
    }

    /**
     * @param string $value
     */
    private function testing(string $value)
    {
        self::assertStringEndsWith($value, HodnotenieEmisnejKontrolyEnum::$value()->value);
        self::assertStringStartsWith($value, HodnotenieEmisnejKontrolyEnum::$value()->value);
        self::assertTrue(HodnotenieEmisnejKontrolyEnum::$value()->equals(HodnotenieEmisnejKontrolyEnum::from($value)));
    }
}
