function testFillDelta() { $fixture = array('delta_id' => 'add new object to collection', 'changes' => array(array('change_type' => 'insert', 'collection_id' => 'my_schedule', 'record_id' => 'monday', 'changes' => array(array('change_type' => 'set', 'field_id' => 'work', 'value' => array('string' => 'from 11am to 7pm', 'type' => 'string')))))); $recordFieldValue = new RecordFieldValue(); $recordFieldValue->setValue($fixture['changes'][0]['changes'][0]['value']['string']); //Field changes $recordField = new RecordField(); $recordField->setValue($recordFieldValue)->setFieldId($fixture['changes'][0]['changes'][0]['field_id'])->setChangeType(RecordField::CHANGE_TYPE_SET); //Record changes $record = new Record(); $record->setChangeType(Record::CHANGE_TYPE_INSERT)->setCollectionId($fixture['changes'][0]['collection_id'])->setRecordId($fixture['changes'][0]['record_id'])->setChanges(array($recordField))->setFields(array($recordField))->setRevision(0); $delta = new Database\Delta(); $delta->setDeltaId($fixture['delta_id'])->setChanges(array($record)); $delta2 = new Database\Delta(); $delta2->setDeltaId($fixture['delta_id'])->setChanges(new Database\Delta\Records(array($record))); $array1 = $delta->toArray(); $array2 = $delta2->toArray(); $this->assertEquals($fixture['delta_id'], $delta->getDeltaId()); $this->assertEquals($delta2->getChanges(), $delta->getChanges()); $this->assertTrue($array1 === $array2, 'Is Equals arrays'); }