123, 'name' => 'Test document', 'categories' => array(1,2,3) ); protected function setUp() { $this->_doc = new Solarium_Document_ReadOnly($this->_fields); } public function testGetFields() { $this->assertEquals($this->_fields,$this->_doc->getFields()); } public function testGetFieldAsProperty() { $this->assertEquals( $this->_fields['categories'], $this->_doc->categories ); } public function testGetInvalidFieldAsProperty() { $this->assertEquals( null, $this->_doc->invalidfieldname ); } public function testSetField() { $this->setExpectedException('Solarium_Exception'); $this->_doc->newField = 'new value'; } public function testIterator() { $fields = array(); foreach($this->_doc AS $key => $field) { $fields[$key] = $field; } $this->assertEquals($this->_fields, $fields); } public function testArrayGet() { $this->assertEquals( $this->_fields['categories'], $this->_doc['categories'] ); } public function testArrayGetInvalidField() { $this->assertEquals( null, $this->_doc['invalidfield'] ); } public function testArrayIsset() { $this->assertTrue( isset($this->_doc['categories']) ); } public function testArrayIssetInvalidField() { $this->assertFalse( isset($this->_doc['invalidfield']) ); } public function testArraySet() { $this->setExpectedException('Solarium_Exception'); $this->_doc['newField'] = 'new value'; } public function testArrayUnset() { $this->setExpectedException('Solarium_Exception'); unset($this->_doc['newField']); } public function testCount() { $this->assertEquals(count($this->_fields), count($this->_doc)); } }