123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- <?php
- namespace MyCLabs\Enum\PHPUnit;
- use MyCLabs\Enum\Enum;
- use SebastianBergmann\Comparator\ComparisonFailure;
- final class Comparator extends \SebastianBergmann\Comparator\Comparator
- {
- public function accepts($expected, $actual)
- {
- return $expected instanceof Enum && (
- $actual instanceof Enum || $actual === null
- );
- }
-
- public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
- {
- if ($expected->equals($actual)) {
- return;
- }
- throw new ComparisonFailure(
- $expected,
- $actual,
- $this->formatEnum($expected),
- $this->formatEnum($actual),
- false,
- 'Failed asserting that two Enums are equal.'
- );
- }
- private function formatEnum(Enum $enum = null)
- {
- if ($enum === null) {
- return "null";
- }
- return get_class($enum)."::{$enum->getKey()}()";
- }
- }
|