JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace SebastianBergmann\Comparator; use function assert; use function sprintf; use UnitEnum; final class EnumerationComparator extends Comparator { public function accepts(mixed $expected, mixed $actual): bool { return $expected instanceof UnitEnum && $actual instanceof UnitEnum && $expected::class === $actual::class; } /** * @throws ComparisonFailure */ public function assertEquals(mixed $expected, mixed $actual, float $delta = 0.0, bool $canonicalize = false, bool $ignoreCase = false): void { assert($expected instanceof UnitEnum); assert($actual instanceof UnitEnum); if ($expected === $actual) { return; } throw new ComparisonFailure( $expected, $actual, '', '', sprintf( 'Failed asserting that two values of enumeration %s are equal, %s does not match expected %s.', $expected::class, $actual->name, $expected->name, ), ); } }