HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/eleo.komma.nl/vendor/phpbench/phpbench/lib/Assertion/AssertionResult.php
<?php

/*
 * This file is part of the PHPBench package
 *
 * (c) Daniel Leech <daniel@dantleech.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 *
 */

namespace PhpBench\Assertion;

class AssertionResult
{
    public const TOLERATED = 'tolerated';
    public const FAIL = 'fail';
    public const OK = 'ok';

    /**
     * @var string
     */
    private $type;

    /**
     * @var string|null
     */
    private $message;

    public function __construct(string $type, ?string $message = null)
    {
        $this->type = $type;
        $this->message = $message;
    }

    public static function tolerated(string $message = ''): self
    {
        return new self(self::TOLERATED, $message);
    }

    public static function fail(string $message = ''): self
    {
        return new self(self::FAIL, $message);
    }

    public static function ok(): self
    {
        return new self(self::OK);
    }

    public function isTolerated(): bool
    {
        return $this->type === self::TOLERATED;
    }

    public function isFail(): bool
    {
        return $this->type === self::FAIL;
    }

    public function getMessage(): string
    {
        return $this->message ?? '<no message>';
    }
}