public function testOffsetUnset()
{
unset($this->_recordSet[1]);
$expected = array(2 => array('id' => 2, 'data' => 'data2'), 3 => array('id' => 3, 'data' => 'data3'), 4 => array('id' => 4, 'data' => 'data4'));
$this->assertEqual($expected, $this->_recordSet->to('array'));
unset($this->_objectRecordSet[1]);
$this->assertNull($this->_objectRecordSet[1]);
$result = $this->_objectRecordSet[2];
$this->assertEqual(2, $result->id);
$this->assertEqual('data2', $result->data);
$result = $this->_objectRecordSet[3];
$this->assertEqual(3, $result->id);
$this->assertEqual('data3', $result->data);
$result = $this->_objectRecordSet[4];
$this->assertEqual(4, $result->id);
$this->assertEqual('data4', $result->data);
$data = array(array('client_id' => 1, 'invoice_id' => 4, 'title' => 'Payment1'), array('client_id' => 2, 'invoice_id' => 5, 'title' => 'Payment2'), array('client_id' => 3, 'invoice_id' => 6, 'title' => 'Payment3'));
$payments = new MockMultiKeyRecordSet(array('data' => $data, 'model' => $this->_model2));
$expected = array(array('client_id' => 2, 'invoice_id' => 5, 'title' => 'Payment2'), array('client_id' => 3, 'invoice_id' => 6, 'title' => 'Payment3'));
unset($payments[array('client_id' => 1, 'invoice_id' => 4)]);
$this->assertEqual($expected, array_values($payments->data()));
$payments = new MockMultiKeyRecordSet(array('data' => $data, 'model' => $this->_model2));
unset($payments[array('invoice_id' => 4, 'client_id' => 1)]);
$this->assertEqual($expected, array_values($payments->data()));
unset($payments[true]);
$this->assertEqual($expected, array_values($payments->data()));
unset($payments[false]);
$this->assertEqual($expected, array_values($payments->data()));
unset($payments[null]);
$this->assertEqual($expected, array_values($payments->data()));
unset($payments['string']);
$this->assertEqual($expected, array_values($payments->data()));
}