/** * @dataProvider instanceProvider */ public function testSetFields(IORMRow $item) { $originalValues = $item->getFields(); $item->setFields(array(), false); foreach ($item->getTable()->getFields() as $name => $type) { $originalHas = array_key_exists($name, $originalValues); $newHas = $item->hasField($name); $this->assertEquals($originalHas, $newHas); if ($originalHas && $newHas) { $this->assertEquals($originalValues[$name], $item->getField($name)); } } $mockFields = $this->getMockFields(); $item->setFields($mockFields, false); $this->assertFieldValues($originalValues, $item); $item->setFields($mockFields, true); $this->assertFieldValues($mockFields, $item); }