Наследование: extends lithium\data\collection\RecordSet
Пример #1
0
	public function testWithNoIndexes() {
		$records = array(
			array('data' => 'data1'),
			array('data' => 'data2'),
			array('data' => 'data3'),
			array('data' => 'data4')
		);

		$result = new MockResult();
		$result->records = array_merge(array(false), $records);
		$model = $this->_model;

		$recordSet = new MockRecordSet(compact('result', 'model') + array('exists' => true));

		$this->assertEqual($records, $recordSet->data());
		$this->assertEqual($records[1]['data'], $recordSet[1]->data);
	}
Пример #2
0
 public function testUnsetInForeach()
 {
     $records = array(array('id' => 1, 'data' => 'delete'));
     $result = new MockResult(array('records' => $records));
     $model = $this->_model;
     $recordSet = new MockRecordSet(compact('result', 'model') + array('exists' => true));
     $cpt = 0;
     foreach ($recordSet as $i => $word) {
         $array = $word->to('array');
         if ($array['data'] === 'delete') {
             unset($recordSet[$i]);
         }
         $cpt++;
     }
     $this->assertEqual(1, $cpt);
     $this->assertIdentical(array(), $recordSet->to('array'));
     $records = array(1 => array('id' => 1, 'data' => 'delete'), 3 => array('id' => 2, 'data' => 'data2'), 'hello' => array('id' => 3, 'data' => 'delete'), 0 => array('id' => 4, 'data' => 'data4'), 7 => array('id' => 5, 'data' => 'delete'), 8 => array('id' => 6, 'data' => 'delete'), 10 => array('id' => 7, 'data' => 'data7'), 50 => array('id' => 8, 'data' => 'delete'));
     $result = new MockResult(array('records' => $records));
     $model = $this->_model;
     $recordSet = new MockRecordSet(compact('result', 'model') + array('exists' => true));
     foreach ($recordSet as $i => $word) {
         $array = $word->to('array');
         if ($array['data'] === 'delete') {
             unset($recordSet[$i]);
         }
     }
     $this->assertCount(3, $recordSet);
     $expected = array(2 => array('id' => 2, 'data' => 'data2'), 4 => array('id' => 4, 'data' => 'data4'), 7 => array('id' => 7, 'data' => 'data7'));
     $this->assertIdentical($expected, $recordSet->to('array'));
 }
Пример #3
0
 public function testOffsetGet()
 {
     $expected = array('id' => 1, 'data' => 'data1');
     $this->assertEqual($expected, $this->_recordSet[1]->to('array'));
     $expected = array('id' => 2, 'data' => 'data2');
     $this->assertEqual($expected, $this->_recordSet[2]->to('array'));
     $expected = array('id' => 3, 'data' => 'data3');
     $this->assertEqual($expected, $this->_recordSet[3]->to('array'));
     $expected = array('id' => 4, 'data' => 'data4');
     $this->assertEqual($expected, $this->_recordSet[4]->to('array'));
     $expected = array('id' => 3, 'data' => 'data3');
     $this->assertEqual($this->_records[2], $this->_recordSet[3]->to('array'));
     $recordSet = new MockRecordSet();
     $this->assertEqual(array(), $recordSet->data());
     $this->expectException();
     $this->_recordSet[5];
 }