Skip to content

Commit

Permalink
Add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
sebastianbergmann committed Oct 31, 2024
1 parent ba3057c commit ec01f21
Show file tree
Hide file tree
Showing 2 changed files with 137 additions and 0 deletions.
81 changes: 81 additions & 0 deletions tests/tests/TestSizeTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
<?php declare(strict_types=1);
/*
* This file is part of phpunit/php-code-coverage.
*
* (c) Sebastian Bergmann <[email protected]>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace SebastianBergmann\CodeCoverage\Test\TestSize;

use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\TestCase;

#[CoversClass(TestSize::class)]
#[CoversClass(Unknown::class)]
#[CoversClass(Known::class)]
#[CoversClass(Small::class)]
#[CoversClass(Medium::class)]
#[CoversClass(Large::class)]
#[\PHPUnit\Framework\Attributes\Small]
final class TestSizeTest extends TestCase
{
public function testCanBeUnknown(): void
{
$size = TestSize::unknown();

$this->assertTrue($size->isUnknown());
$this->assertFalse($size->isKnown());
$this->assertFalse($size->isSmall());
$this->assertFalse($size->isMedium());
$this->assertFalse($size->isLarge());
$this->assertSame('unknown', $size->asString());
}

public function testCanBeSmall(): void
{
$size = TestSize::small();

$this->assertFalse($size->isUnknown());
$this->assertTrue($size->isKnown());
$this->assertTrue($size->isSmall());
$this->assertFalse($size->isMedium());
$this->assertFalse($size->isLarge());
$this->assertSame('small', $size->asString());
}

public function testCanBeMedium(): void
{
$size = TestSize::medium();

$this->assertFalse($size->isUnknown());
$this->assertTrue($size->isKnown());
$this->assertFalse($size->isSmall());
$this->assertTrue($size->isMedium());
$this->assertFalse($size->isLarge());
$this->assertSame('medium', $size->asString());
}

public function testCanBeLarge(): void
{
$size = TestSize::large();

$this->assertFalse($size->isUnknown());
$this->assertTrue($size->isKnown());
$this->assertFalse($size->isSmall());
$this->assertFalse($size->isMedium());
$this->assertTrue($size->isLarge());
$this->assertSame('large', $size->asString());
}

public function testCanBeCompared(): void
{
$this->assertFalse(TestSize::small()->isGreaterThan(TestSize::small()));
$this->assertFalse(TestSize::medium()->isGreaterThan(TestSize::large()));
$this->assertTrue(TestSize::medium()->isGreaterThan(TestSize::small()));
$this->assertFalse(TestSize::large()->isGreaterThan(TestSize::large()));
$this->assertTrue(TestSize::large()->isGreaterThan(TestSize::small()));
$this->assertTrue(TestSize::large()->isGreaterThan(TestSize::medium()));
}
}
56 changes: 56 additions & 0 deletions tests/tests/TestStatusTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<?php declare(strict_types=1);
/*
* This file is part of phpunit/php-code-coverage.
*
* (c) Sebastian Bergmann <[email protected]>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace SebastianBergmann\CodeCoverage\Test\TestStatus;

use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\Small;
use PHPUnit\Framework\TestCase;

#[CoversClass(TestStatus::class)]
#[CoversClass(Known::class)]
#[CoversClass(Unknown::class)]
#[CoversClass(Success::class)]
#[CoversClass(Failure::class)]
#[Small]
final class TestStatusTest extends TestCase
{
public function testCanBeUnknown(): void
{
$status = TestStatus::unknown();

$this->assertTrue($status->isUnknown());
$this->assertFalse($status->isKnown());
$this->assertFalse($status->isSuccess());
$this->assertFalse($status->isFailure());
$this->assertSame('unknown', $status->asString());
}

public function testCanBeSuccess(): void
{
$status = TestStatus::success();

$this->assertFalse($status->isUnknown());
$this->assertTrue($status->isKnown());
$this->assertTrue($status->isSuccess());
$this->assertFalse($status->isFailure());
$this->assertSame('success', $status->asString());
}

public function testCanBeFailure(): void
{
$status = TestStatus::failure();

$this->assertFalse($status->isUnknown());
$this->assertTrue($status->isKnown());
$this->assertFalse($status->isSuccess());
$this->assertTrue($status->isFailure());
$this->assertSame('failure', $status->asString());
}
}

0 comments on commit ec01f21

Please sign in to comment.