public function testSetAndGetCollateParams() { $this->assertEquals($this->spellCheck, $this->spellCheck->setCollateParam('mm', '100%')); $params = $this->spellCheck->getCollateParams(); $this->assertArrayHasKey('mm', $params); $this->assertEquals('100%', $params['mm']); }
/** * Add request settings for Spellcheck * * @param SpellcheckComponent $component * @param Request $request * @return Request */ public function buildComponent($component, $request) { // enable spellcheck $request->addParam('spellcheck', 'true'); $request->addParam('spellcheck.q', $component->getQuery()); $request->addParam('spellcheck.build', $component->getBuild()); $request->addParam('spellcheck.reload', $component->getReload()); $request->addParam('spellcheck.dictionary', $component->getDictionary()); $request->addParam('spellcheck.count', $component->getCount()); $request->addParam('spellcheck.onlyMorePopular', $component->getOnlyMorePopular()); $request->addParam('spellcheck.extendedResults', $component->getExtendedResults()); $request->addParam('spellcheck.collate', $component->getCollate()); $request->addParam('spellcheck.maxCollations', $component->getMaxCollations()); $request->addParam('spellcheck.maxCollationTries', $component->getMaxCollationTries()); $request->addParam('spellcheck.maxCollationEvaluations', $component->getMaxCollationEvaluations()); $request->addParam('spellcheck.collateExtendedResults', $component->getCollateExtendedResults()); $request->addParam('spellcheck.accuracy', $component->getAccuracy()); foreach ($component->getCollateParams() as $param => $value) { $request->addParam('spellcheck.collateParam.' . $param, $value); } return $request; }
public function testBuildComponent() { $builder = new RequestBuilder(); $request = new Request(); $component = new Component(); $component->setQuery('testquery'); $component->setBuild(false); $component->setReload(true); $component->setDictionary('testdict'); $component->setCount(3); $component->setOnlyMorePopular(false); $component->setExtendedResults(true); $component->setCollate(true); $component->setMaxCollations(2); $component->setMaxCollationTries(4); $component->setMaxCollationEvaluations(4); $component->setCollateExtendedResults(true); $component->setAccuracy(0.2); $component->setCollateParam('mm', '100%'); $request = $builder->buildComponent($component, $request); $this->assertEquals(array('spellcheck' => 'true', 'spellcheck.q' => 'testquery', 'spellcheck.build' => 'false', 'spellcheck.reload' => 'true', 'spellcheck.dictionary' => 'testdict', 'spellcheck.count' => 3, 'spellcheck.onlyMorePopular' => 'false', 'spellcheck.extendedResults' => 'true', 'spellcheck.collate' => 'true', 'spellcheck.maxCollations' => 2, 'spellcheck.maxCollationTries' => 4, 'spellcheck.maxCollationEvaluations' => 4, 'spellcheck.collateExtendedResults' => 'true', 'spellcheck.accuracy' => 0.2, 'spellcheck.collateParam.mm' => '100%'), $request->getParams()); }