public function testKeyCastingManagment()
{
$payments = new MockMultiKeyRecordSet();
$payments[true] = array('title' => 'Payment1');
$payments[null] = array('title' => 'Payment2');
$payments[false] = array('title' => 'Payment3');
$payments[array()] = array('title' => 'Payment4');
$expected = array(0 => array('title' => 'Payment1'), 1 => array('title' => 'Payment2'), 2 => array('title' => 'Payment3'), 3 => array('title' => 'Payment4'));
$this->assertEqual($expected, $payments->data());
$expected = array('title' => 'Payment1 updated');
$payments[0] = $expected;
$this->assertEqual($expected, $payments[0]);
$expected = array('title' => 'Payment1 updated 2');
$payments['0'] = $expected;
$this->assertEqual($expected, $payments['0']);
$this->assertEqual($expected, $payments[0]);
}