lithium\tests\cases\data\collection\MultiKeyRecordSetTest::testOffsetUnset PHP Method

testOffsetUnset() public method

public testOffsetUnset ( )
    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()));
    }