/** * test diff function * * @see 0000996: add changes in relations/linked objects to modlog/history */ public function testDiff() { $compareRecordSet = new Tinebase_Record_RecordSet('Tinebase_Record_DummyRecord'); $compareRecordSet->addRecord(new Tinebase_Record_DummyRecord(array('id' => 1, 'string' => 'idFull1'), true)); $compareRecordSet->addRecord(new Tinebase_Record_DummyRecord(array('id' => 2, 'string' => 'idFull22'), true)); $compareRecordSet->addRecord(new Tinebase_Record_DummyRecord(array('id' => 3, 'string' => 'idFull3'), true)); $diff = $compareRecordSet->diff($this->object); $this->assertFalse($diff->isEmpty()); foreach (array('added' => 2, 'removed' => 1, 'modified' => 1) as $field => $expectedCount) { $this->assertEquals($expectedCount, count($diff->{$field}), $expectedCount . ' record(s) should be ' . $field . ': ' . print_r($diff->toArray(), TRUE)); } $this->assertEquals('idFull2', $diff->modified->getFirstRecord()->diff['string']); }