reviewer-1.2.x-dev/tests/src/Unit/StatusEvaluatorTest.php
tests/src/Unit/StatusEvaluatorTest.php
<?php
declare(strict_types=1);
namespace Drupal\Tests\reviewer\Unit;
use Drupal\reviewer\Reviewer\Status\Status;
use Drupal\reviewer\Reviewer\Status\StatusEvaluator;
use Drupal\reviewer\Reviewer\Status\StatusEvaluatorInterface;
use Drupal\Tests\UnitTestCase;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\Group;
/**
* Tests the status evaluator.
*/
#[Group('reviewer')]
#[CoversClass(StatusEvaluator::class)]
final class StatusEvaluatorTest extends UnitTestCase {
private readonly StatusEvaluatorInterface $statusEvaluator;
/**
* {@inheritdoc}
*/
protected function setUp(): void {
parent::setUp();
$this->statusEvaluator = new StatusEvaluator();
}
/**
* Test checking if a status is a failure.
*/
public function testIsFailure(): void {
self::assertTrue($this->statusEvaluator->isFailure(Status::Fail));
self::assertFalse($this->statusEvaluator->isFailure(Status::IgnoredFailure));
self::assertFalse($this->statusEvaluator->isFailure(Status::Error));
self::assertFalse($this->statusEvaluator->isFailure(Status::IgnoredError));
self::assertFalse($this->statusEvaluator->isFailure(Status::NotRun));
self::assertFalse($this->statusEvaluator->isFailure(Status::Pass));
self::assertFalse($this->statusEvaluator->isFailure(Status::Fixed));
}
/**
* Test checking if a status is an error.
*/
public function testIsError(): void {
self::assertTrue($this->statusEvaluator->isError(Status::Error));
self::assertFalse($this->statusEvaluator->isError(Status::IgnoredError));
self::assertFalse($this->statusEvaluator->isError(Status::Fail));
self::assertFalse($this->statusEvaluator->isError(Status::IgnoredFailure));
self::assertFalse($this->statusEvaluator->isError(Status::NotRun));
self::assertFalse($this->statusEvaluator->isError(Status::Pass));
self::assertFalse($this->statusEvaluator->isError(Status::Fixed));
}
/**
* Test checking if a status is a failure or error.
*/
public function testIsFailureOrError(): void {
self::assertTrue($this->statusEvaluator->isFailureOrError(Status::Fail));
self::assertTrue($this->statusEvaluator->isFailureOrError(Status::Error));
self::assertFalse($this->statusEvaluator->isFailureOrError(Status::IgnoredError));
self::assertFalse($this->statusEvaluator->isFailureOrError(Status::IgnoredFailure));
self::assertFalse($this->statusEvaluator->isFailureOrError(Status::Fixed));
self::assertFalse($this->statusEvaluator->isFailureOrError(Status::Pass));
self::assertFalse($this->statusEvaluator->isFailureOrError(Status::NotRun));
}
/**
* Test checking if a status is ignored.
*/
public function testIsIgnored(): void {
self::assertTrue($this->statusEvaluator->isIgnored(Status::IgnoredFailure));
self::assertTrue($this->statusEvaluator->isIgnored(Status::IgnoredError));
self::assertFalse($this->statusEvaluator->isIgnored(Status::Fail));
self::assertFalse($this->statusEvaluator->isIgnored(Status::Error));
self::assertFalse($this->statusEvaluator->isIgnored(Status::NotRun));
self::assertFalse($this->statusEvaluator->isIgnored(Status::Pass));
self::assertFalse($this->statusEvaluator->isIgnored(Status::Fixed));
}
/**
* Test checking if a status is not run.
*/
public function testIsNotRun(): void {
self::assertTrue($this->statusEvaluator->isNotRun(Status::NotRun));
self::assertFalse($this->statusEvaluator->isNotRun(Status::Fail));
self::assertFalse($this->statusEvaluator->isNotRun(Status::IgnoredFailure));
self::assertFalse($this->statusEvaluator->isNotRun(Status::Error));
self::assertFalse($this->statusEvaluator->isNotRun(Status::IgnoredError));
self::assertFalse($this->statusEvaluator->isNotRun(Status::Pass));
self::assertFalse($this->statusEvaluator->isNotRun(Status::Fixed));
}
/**
* Test checking if a status is a pass.
*/
public function testIsPass(): void {
self::assertTrue($this->statusEvaluator->isPass(Status::Pass));
self::assertFalse($this->statusEvaluator->isPass(Status::Fail));
self::assertFalse($this->statusEvaluator->isPass(Status::IgnoredFailure));
self::assertFalse($this->statusEvaluator->isPass(Status::Error));
self::assertFalse($this->statusEvaluator->isPass(Status::IgnoredError));
self::assertFalse($this->statusEvaluator->isPass(Status::NotRun));
self::assertFalse($this->statusEvaluator->isPass(Status::Fixed));
}
/**
* Test checking if a status is fixed.
*/
public function testIsFixed(): void {
self::assertTrue($this->statusEvaluator->isFixed(Status::Fixed));
self::assertFalse($this->statusEvaluator->isFixed(Status::Fail));
self::assertFalse($this->statusEvaluator->isFixed(Status::IgnoredFailure));
self::assertFalse($this->statusEvaluator->isFixed(Status::Error));
self::assertFalse($this->statusEvaluator->isFixed(Status::IgnoredError));
self::assertFalse($this->statusEvaluator->isFixed(Status::NotRun));
self::assertFalse($this->statusEvaluator->isFixed(Status::Pass));
}
}
