예제 #1
0
 public function __construct()
 {
     $this->patcher = new MapPatcher();
     $this->patcher->setValueComparer(new CallbackComparer(function (Statement $firstStatement, Statement $secondStatement) {
         return $firstStatement->equals($secondStatement);
     }));
 }
예제 #2
0
 public function testSetValueComparerToAlwaysTrue()
 {
     $patcher = new MapPatcher();
     $patcher->setValueComparer(new CallbackComparer(function ($firstValue, $secondValue) {
         return true;
     }));
     $baseMap = array('foo' => 42, 'bar' => 9001);
     $patch = new Diff(array('foo' => new DiffOpChange(3, 1337), 'bar' => new DiffOpChange(3, 1337)));
     $expectedMap = array('foo' => 1337, 'bar' => 1337);
     $patchedMap = $patcher->patch($baseMap, $patch);
     $this->assertEquals($expectedMap, $patchedMap);
 }