Пример #1
0
 /**
  * @dataProvider newFromArraysProvider
  */
 public function testNewFromArrays(array $from, array $to, array $additions, array $removals)
 {
     $differ = new ListDiffer(new NativeArrayComparer());
     $diff = new Diff($differ->doDiff($from, $to), false);
     $this->assertInstanceOf('\\Diff\\DiffOp\\DiffOp', $diff);
     $this->assertInstanceOf('\\Diff\\DiffOp\\Diff\\Diff', $diff);
     $this->assertInstanceOf('\\ArrayObject', $diff);
     // array_values because we only care about the values, not promises are made about the keys.
     $resultAdditions = array_values($diff->getAddedValues());
     $resultRemovals = array_values($diff->getRemovedValues());
     // Sort everything since no promises are made about ordering.
     asort($resultAdditions);
     asort($resultRemovals);
     asort($additions);
     asort($removals);
     $this->assertEquals($additions, $resultAdditions, 'additions mismatch');
     $this->assertEquals($removals, $resultRemovals, 'removals mismatch');
     $this->assertEquals($additions === array() && $removals === array(), $diff->isEmpty());
 }
Пример #2
0
 /**
  * @see Differ::doDiff
  *
  * @since 0.9
  *
  * @param array $oldValues The first array
  * @param array $newValues The second array
  *
  * @return DiffOp[]
  */
 public function doDiff(array $oldValues, array $newValues)
 {
     return $this->differ->doDiff($oldValues, $newValues);
 }
Пример #3
0
 public function testDiffCallsArrayComparatorCorrectly()
 {
     $arrayComparer = $this->getMock('Diff\\ArrayComparer\\ArrayComparer');
     $arrayComparer->expects($this->exactly(2))->method('diffArrays')->with($this->equalTo(array(42)), $this->equalTo(array(42)))->will($this->returnValue(array()));
     $differ = new ListDiffer($arrayComparer);
     $differ->doDiff(array(42), array(42));
 }