_grouping = new Solarium_Query_Select_Component_Grouping; } public function testConfigMode() { $options = array( 'fields' => array('fieldA','fieldB'), 'queries' => array('cat:3','cat:4'), 'limit' => 8, 'offset' => 1, 'sort' => 'score desc', 'mainresult' => false, 'numberofgroups' => true, 'cachepercentage' => 45, 'truncate' => true, ); $this->_grouping->setOptions($options); $this->assertEquals($options['fields'], $this->_grouping->getFields()); $this->assertEquals($options['queries'], $this->_grouping->getQueries()); $this->assertEquals($options['limit'], $this->_grouping->getLimit()); $this->assertEquals($options['offset'], $this->_grouping->getOffset()); $this->assertEquals($options['sort'], $this->_grouping->getSort()); $this->assertEquals($options['mainresult'], $this->_grouping->getMainResult()); $this->assertEquals($options['numberofgroups'], $this->_grouping->getNumberOfGroups()); $this->assertEquals($options['cachepercentage'], $this->_grouping->getCachePercentage()); $this->assertEquals($options['truncate'], $this->_grouping->getTruncate()); } public function testGetType() { $this->assertEquals(Solarium_Query_Select::COMPONENT_GROUPING, $this->_grouping->getType()); } public function testSetAndGetFieldsSingle() { $value = 'fieldC'; $this->_grouping->setFields($value); $this->assertEquals( array($value), $this->_grouping->getFields() ); } public function testSetAndGetFieldsCommaSeparated() { $value = 'fieldD, fieldE'; $this->_grouping->setFields($value); $this->assertEquals( array( 'fieldD', 'fieldE', ), $this->_grouping->getFields() ); } public function testSetAndGetFieldsArray() { $values = array('fieldD', 'fieldE'); $this->_grouping->setFields($values); $this->assertEquals( $values, $this->_grouping->getFields() ); } public function testSetAndGetQueriesSingle() { $value = 'cat:3'; $this->_grouping->setQueries($value); $this->assertEquals( array($value), $this->_grouping->getQueries() ); } public function testSetAndGetQueriesArray() { $values = array('cat:5', 'cat:6'); $this->_grouping->setQueries($values); $this->assertEquals( $values, $this->_grouping->getQueries() ); } public function testSetAndGetLimit() { $value = '12'; $this->_grouping->setLimit($value); $this->assertEquals( $value, $this->_grouping->getLimit() ); } public function testSetAndGetOffset() { $value = '2'; $this->_grouping->setOffset($value); $this->assertEquals( $value, $this->_grouping->getOffset() ); } public function testSetAndGetSort() { $value = 'price desc'; $this->_grouping->setSort($value); $this->assertEquals( $value, $this->_grouping->getSort() ); } public function testSetAndGetMainResult() { $value = true; $this->_grouping->setMainResult($value); $this->assertEquals( $value, $this->_grouping->getMainResult() ); } public function testSetAndGetNumberOfGroups() { $value = true; $this->_grouping->setNumberOfGroups($value); $this->assertEquals( $value, $this->_grouping->getNumberOfGroups() ); } public function testSetAndGetCachePercentage() { $value = 40; $this->_grouping->setCachePercentage($value); $this->assertEquals( $value, $this->_grouping->getCachePercentage() ); } public function testSetAndGetTruncate() { $value = true; $this->_grouping->setTruncate($value); $this->assertEquals( $value, $this->_grouping->getTruncate() ); } }