* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class ComparatorTest extends TestCase { public function testCompareArray() { $this->assertTrue(Comparator::compare([ ], [ ])); $this->assertTrue(Comparator::compare([ 'foo' => 'bar', ], [ 'foo' => 'bar', ])); $this->assertTrue(Comparator::compare([ 'foo' => [ 'bar' => 'foo', 'foo' => 'bar', ] ], [ 'foo' => [ 'foo' => 'bar', 'bar' => 'foo', ] ])); $this->assertFalse(Comparator::compare([ 'foo' => 'bar' ], [ ])); $this->assertFalse(Comparator::compare([ ], [ 'foo' => 'bar' ])); $this->assertFalse(Comparator::compare([ 'foo' => [ 'bar' => 'foo', 'foo' => 'bar', ] ], [ 'foo' => [ 'foo' => 'bar', ] ])); $this->assertFalse(Comparator::compare([ 'foo' => 'bar', ], [ 'bar' => 'foo', ])); $this->assertFalse(Comparator::compare('foo', [ 'bar' => 'foo', ])); $this->assertFalse(Comparator::compare([ 'bar' => 'foo', ], 'foo')); } public function testCompareStdClass() { $this->assertTrue(Comparator::compare((object) [ ], (object) [ ])); $this->assertTrue(Comparator::compare((object) [ 'foo' => 'bar', ], (object) [ 'foo' => 'bar', ])); $this->assertTrue(Comparator::compare((object) [ 'foo' => (object) [ 'bar' => 'foo', 'foo' => 'bar', ] ], (object) [ 'foo' => (object) [ 'foo' => 'bar', 'bar' => 'foo', ] ])); $this->assertFalse(Comparator::compare((object) [ 'foo' => 'bar', ], (object) [ ])); $this->assertFalse(Comparator::compare((object) [ ], (object) [ 'foo' => 'bar', ])); $this->assertFalse(Comparator::compare((object) [ 'foo' => (object) [ 'bar' => 'foo', 'foo' => 'bar', ] ], (object) [ 'foo' => (object) [ 'foo' => 'bar', ] ])); $this->assertFalse(Comparator::compare((object) [ 'foo' => 'bar', ], (object) [ 'bar' => 'foo', ])); $this->assertFalse(Comparator::compare('foo', (object) [ 'bar' => 'foo', ])); $this->assertFalse(Comparator::compare((object) [ 'bar' => 'foo', ], 'foo')); } public function testCompareRecord() { $this->assertTrue(Comparator::compare(Record::fromArray([ ]), Record::fromArray([ ]))); $this->assertTrue(Comparator::compare(Record::fromArray([ 'foo' => 'bar', ]), Record::fromArray([ 'foo' => 'bar', ]))); $this->assertTrue(Comparator::compare(Record::fromArray([ 'foo' => Record::fromArray([ 'bar' => 'foo', 'foo' => 'bar', ]) ]), Record::fromArray([ 'foo' => Record::fromArray([ 'foo' => 'bar', 'bar' => 'foo', ]) ]))); $this->assertFalse(Comparator::compare(Record::fromArray([ 'foo' => 'bar' ]), Record::fromArray([ ]))); $this->assertFalse(Comparator::compare(Record::fromArray([ ]), Record::fromArray([ 'foo' => 'bar' ]))); $this->assertFalse(Comparator::compare(Record::fromArray([ 'foo' => Record::fromArray([ 'bar' => 'foo', 'foo' => 'bar', ]) ]), Record::fromArray([ 'foo' => Record::fromArray([ 'foo' => 'bar', ]) ]))); $this->assertFalse(Comparator::compare(Record::fromArray([ 'foo' => 'bar', ]), Record::fromArray([ 'bar' => 'foo', ]))); $this->assertFalse(Comparator::compare('foo', Record::fromArray([ 'bar' => 'foo', ]))); $this->assertFalse(Comparator::compare(Record::fromArray([ 'bar' => 'foo', ]), 'foo')); } } __halt_compiler();----SIGNATURE:----qMykFMkroxWKVwepikKDnvV0DBvALOHVPRckbHLxjzv54SBw8w+gOEr8aQjmsWGfC+i8DJ1hKwudAWKy4HLJ5j93wklwtwQZpSgDc5KoGp7nwqWHu0JFT3DleKMeB86FJHkPBAZXYpQ8SL/YiveL9xafmeiQRRM+RcLxwCFiYa81FhPYXhNti9V2+opC4iaxnlir+WhPd0hFAVBu5oKB9G6lMDcqjyKfx/RsJUCUzt2QkC+xZ9vYKnZArmxwXJDjxpQX+e+jiw8HEinoypJjhQ0mw0vROWSPKpdb9pjoHLWbqpWaXkfJME4bGWG+RzuhnCgF+u0tvtXjwjzPG5ZSicAyFbJMR4jPCHKSVQ+rML/v5UbzIlKvh6Qj1lGtllyvzW8P4sxaoOGnJdp+AEL2JCH8OWcm+vLCa94soCfgUjpVD2IHZNIz0ve5tshn+KOUyEG0ebzbTCsLuu/wQp44wD93/4WjTAUQoV3Y04JjMXtCf6WVUeGwRDnNH69NF95q9CtY+HTDMaiVy3mL1/zrV6P4d52prlUJhEDRv5pZCctDiUo+SzlKBkUw42pnNM0gF+ec9PL2VviUelUJ5aW+1P9aQTaL2D5GvG1Ad+JGLetLBKbtjXhT7KRd6bWwdHPEE7fOD/5DeVWQErM6StKJyLiQra7Mc1S+HXPKYrOCRbs=----ATTACHMENT:----MjA4NjgxOTA0NTA4MzM2NyA4NjY3MTM2MjM1Mjc4MTYgNzAyODMyMzc5NTA1MTY1Nw==