/**
  * Tests if the resulting operation array is as expected.
  *
  * @dataProvider providePushTestData
  */
 public function testPush($testData, $expected)
 {
     $push = new Push();
     $push->setPush($testData);
     $result = $push->getOperation();
     $this->assertEquals($expected, $result);
 }
 /**
  * Gets the grouping that groups everything in an array.
  *
  * @param string $field
  */
 private function getGroup($field)
 {
     $group = new Group();
     $group->setGroupBy('_id');
     $condition = Condition::getConditionByIfArray(['$gte' => ['$' . $field, []]], '$' . $field . '_unwrapped', '$' . $field . '_original');
     $push = new Push();
     $push->setPush($condition);
     $group->setResultField($field, $push);
     return $group;
 }