File Manager Lite
Dir:
/home/codewavebd/public_html/vendor/sebastian/comparator/src
Upload
[..]
ClosureComparator.php (3.75 KB)
Edit
Rename
Del
Comparator.php (964 B)
Edit
Rename
Del
ComparisonFailure.php (2.83 KB)
Edit
Rename
Del
DateTimeComparator.php (2.54 KB)
Edit
Rename
Del
EnumerationComparator.php (1.58 KB)
Edit
Rename
Del
ExceptionComparator.php (1.17 KB)
Edit
Rename
Del
Factory.php (3.91 KB)
Edit
Rename
Del
MockObjectComparator.php (1.24 KB)
Edit
Rename
Del
NumberComparator.php (2.21 KB)
Edit
Rename
Del
NumericComparator.php (2.41 KB)
Edit
Rename
Del
ObjectComparator.php (3.13 KB)
Edit
Rename
Del
ResourceComparator.php (1.4 KB)
Edit
Rename
Del
ScalarComparator.php (5.51 KB)
Edit
Rename
Del
TypeComparator.php (1.41 KB)
Edit
Rename
Del
exceptions/
Rename
Del
Edit: NumberComparator.php
<?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 function assert; use function is_int; use function is_numeric; use function is_string; use function max; use function number_format; use BcMath\Number; /** * @no-named-arguments Parameter names are not covered by the backward compatibility promise for sebastian/comparator * * @internal This class is not covered by the backward compatibility promise for sebastian/comparator */ final class NumberComparator extends ObjectComparator { public function accepts(mixed $expected, mixed $actual): bool { return ($expected instanceof Number || $actual instanceof Number) && ($expected instanceof Number || is_int($expected) || is_string($expected) && is_numeric($expected)) && ($actual instanceof Number || is_int($actual) || is_string($actual) && is_numeric($actual)); } /** * @param array<mixed> $processed * * @throws ComparisonFailure */ public function assertEquals(mixed $expected, mixed $actual, float $delta = 0.0, bool $canonicalize = false, bool $ignoreCase = false, array &$processed = []): void { if (!$expected instanceof Number) { assert((is_string($expected) && is_numeric($expected)) || is_int($expected)); $expected = new Number($expected); } if (!$actual instanceof Number) { assert((is_string($actual) && is_numeric($actual)) || is_int($actual)); $actual = new Number($actual); } /** @phpstan-ignore argument.type */ $deltaNumber = new Number(number_format($delta, max($expected->scale, $actual->scale))); if ($actual < $expected - $deltaNumber || $actual > $expected + $deltaNumber) { throw new ComparisonFailure( $expected, $actual, (string) $expected, (string) $actual, 'Failed asserting that two Number objects are equal.', ); } } }
Simpan