public function testParseExtractFromResponse() { $data = array('facet_counts' => array('facet_fields' => array('keyA' => array('value1', 12, 'value2', 3)), 'facet_queries' => array('keyB' => 23, 'keyC_A' => 25, 'keyC_B' => 16), 'facet_ranges' => array('keyD' => array('before' => 3, 'after' => 5, 'between' => 4, 'counts' => array('1.0', 1, '101.0', 2, '201.0', 1))), 'facet_pivot' => array('cat,price' => array(array('field' => 'cat', 'value' => 'abc', 'count' => '123', 'pivot' => array(array('field' => 'price', 'value' => 1, 'count' => 12), array('field' => 'price', 'value' => 2, 'count' => 8))))))); $facetSet = new FacetSet(); $facetSet->setExtractFromResponse(true); $result = $this->parser->parse($this->query, $facetSet, $data); $facets = $result->getFacets(); $this->assertEquals(array('keyA', 'keyB', 'keyC_A', 'keyC_B', 'keyD', 'cat,price'), array_keys($facets)); $this->assertEquals(array('value1' => 12, 'value2' => 3), $facets['keyA']->getValues()); $this->assertEquals(23, $facets['keyB']->getValue()); // As the multiquery facet is a Solarium virtual facet type, it cannot be detected based on Solr response data $this->assertEquals(25, $facets['keyC_A']->getValue()); $this->assertEquals(16, $facets['keyC_B']->getValue()); $this->assertEquals(array('1.0' => 1, '101.0' => 2, '201.0' => 1), $facets['keyD']->getValues()); $this->assertEquals(3, $facets['keyD']->getBefore()); $this->assertEquals(4, $facets['keyD']->getBetween()); $this->assertEquals(5, $facets['keyD']->getAfter()); $this->assertEquals(1, count($facets['cat,price'])); $this->query = new Query(); }
public function testSetAndGetExtractFromResponse() { $this->facetSet->setExtractFromResponse(true); $this->assertEquals(true, $this->facetSet->getExtractFromResponse()); }