<?php declare(strict_types=1); /* * This file is part of sebastian/comparator. * * (c) Sebastian Bergmann <sebastian@phpunit.de> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace SebastianBergmann\Comparator; use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\Attributes\UsesClass; use PHPUnit\Framework\TestCase; use stdClass; #[CoversClass(TypeComparator::class)] #[UsesClass(Comparator::class)] #[UsesClass(ComparisonFailure::class)] #[UsesClass(Factory::class)] final class TypeComparatorTest extends TestCase { /** * @var TypeComparator */ private $comparator; public static function acceptsSucceedsProvider() { return [ [true, 1], [false, [1]], [null, new stdClass], [1.0, 5], ['', ''], ]; } public static function assertEqualsSucceedsProvider() { return [ [true, true], [true, false], [false, false], [null, null], [new stdClass, new stdClass], [0, 0], [1.0, 2.0], ['hello', 'world'], ['', ''], [[], [1, 2, 3]], ]; } public static function assertEqualsFailsProvider() { return [ [true, null], [null, false], [1.0, 0], [new stdClass, []], ['1', 1], ]; } protected function setUp(): void { $this->comparator = new TypeComparator; } #[DataProvider('acceptsSucceedsProvider')] public function testAcceptsSucceeds($expected, $actual): void { $this->assertTrue( $this->comparator->accepts($expected, $actual) ); } #[DataProvider('assertEqualsSucceedsProvider')] public function testAssertEqualsSucceeds($expected, $actual): void { $exception = null; try { $this->comparator->assertEquals($expected, $actual); } catch (ComparisonFailure $exception) { } $this->assertNull($exception, 'Unexpected ComparisonFailure'); } #[DataProvider('assertEqualsFailsProvider')] public function testAssertEqualsFails($expected, $actual): void { $this->expectException(ComparisonFailure::class); $this->expectExceptionMessage('does not match expected type'); $this->comparator->assertEquals($expected, $actual); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
_fixture | Folder | 0755 |
|
|
ArrayComparatorTest.php | File | 4.03 KB | 0644 |
|
ComparisonFailureTest.php | File | 1.63 KB | 0644 |
|
DOMNodeComparatorTest.php | File | 5.17 KB | 0644 |
|
DateTimeComparatorTest.php | File | 7.36 KB | 0644 |
|
ExceptionComparatorTest.php | File | 3.76 KB | 0644 |
|
FactoryTest.php | File | 4.81 KB | 0644 |
|
MockObjectComparatorTest.php | File | 5.88 KB | 0644 |
|
NumericComparatorTest.php | File | 4.35 KB | 0644 |
|
ObjectComparatorTest.php | File | 4.34 KB | 0644 |
|
ResourceComparatorTest.php | File | 2.92 KB | 0644 |
|
ScalarComparatorTest.php | File | 5.13 KB | 0644 |
|
SplObjectStorageComparatorTest.php | File | 3.84 KB | 0644 |
|
TypeComparatorTest.php | File | 2.62 KB | 0644 |
|