Mercurial > hg > cmmr2012-drupal-site
comparison vendor/sebastian/comparator/src/SplObjectStorageComparator.php @ 0:c75dbcec494b
Initial commit from drush-created site
author | Chris Cannam |
---|---|
date | Thu, 05 Jul 2018 14:24:15 +0000 |
parents | |
children | 5311817fb629 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:c75dbcec494b |
---|---|
1 <?php | |
2 /* | |
3 * This file is part of the Comparator package. | |
4 * | |
5 * (c) Sebastian Bergmann <sebastian@phpunit.de> | |
6 * | |
7 * For the full copyright and license information, please view the LICENSE | |
8 * file that was distributed with this source code. | |
9 */ | |
10 | |
11 namespace SebastianBergmann\Comparator; | |
12 | |
13 /** | |
14 * Compares \SplObjectStorage instances for equality. | |
15 */ | |
16 class SplObjectStorageComparator extends Comparator | |
17 { | |
18 /** | |
19 * Returns whether the comparator can compare two values. | |
20 * | |
21 * @param mixed $expected The first value to compare | |
22 * @param mixed $actual The second value to compare | |
23 * @return bool | |
24 */ | |
25 public function accepts($expected, $actual) | |
26 { | |
27 return $expected instanceof \SplObjectStorage && $actual instanceof \SplObjectStorage; | |
28 } | |
29 | |
30 /** | |
31 * Asserts that two values are equal. | |
32 * | |
33 * @param mixed $expected First value to compare | |
34 * @param mixed $actual Second value to compare | |
35 * @param float $delta Allowed numerical distance between two values to consider them equal | |
36 * @param bool $canonicalize Arrays are sorted before comparison when set to true | |
37 * @param bool $ignoreCase Case is ignored when set to true | |
38 * | |
39 * @throws ComparisonFailure | |
40 */ | |
41 public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false) | |
42 { | |
43 foreach ($actual as $object) { | |
44 if (!$expected->contains($object)) { | |
45 throw new ComparisonFailure( | |
46 $expected, | |
47 $actual, | |
48 $this->exporter->export($expected), | |
49 $this->exporter->export($actual), | |
50 false, | |
51 'Failed asserting that two objects are equal.' | |
52 ); | |
53 } | |
54 } | |
55 | |
56 foreach ($expected as $object) { | |
57 if (!$actual->contains($object)) { | |
58 throw new ComparisonFailure( | |
59 $expected, | |
60 $actual, | |
61 $this->exporter->export($expected), | |
62 $this->exporter->export($actual), | |
63 false, | |
64 'Failed asserting that two objects are equal.' | |
65 ); | |
66 } | |
67 } | |
68 } | |
69 } |