Example #1
0
 public function testMergeWithCombiningValueMerger()
 {
     $collection = new Collection(['a' => 'x']);
     $mergedCollection = new Collection(['a' => 'y']);
     $merger = $this->getMockBuilder(ValueMerger::class)->disableOriginalConstructor()->getMock();
     $merger->expects($this->once())->method('merge')->with('x', 'y')->willReturn('merged value');
     $collection->addMerger('a', $merger);
     $collection->merge($mergedCollection);
     $this->assertEquals(['a' => 'merged value'], $collection->toArray());
 }
 /**
  *
  */
 public function testMergerKeysNormalization()
 {
     $collection = new Collection(['X' => 'a', 'y' => 'b', 'Z' => 'C']);
     $collection->addKeyNormalizer(function (&$key) {
         $key = strtoupper($key);
     });
     $merger = $this->getMockBuilder(ValueMerger::class)->disableOriginalConstructor()->getMock();
     $collection->addMerger('lowercase', $merger);
     $this->assertArrayHasKey('LOWERCASE', $collection->getMergers());
 }