public function __construct() { $this->patcher = new MapPatcher(); $this->patcher->setValueComparer(new CallbackComparer(function (Statement $firstStatement, Statement $secondStatement) { return $firstStatement->equals($secondStatement); })); }
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); }