/** * @dataProvider addFilter_testdata * */ public function test_addFilter($colname, $value, $comp, $type, $expected_filter, $expectException, $msg) { $search = new mock\Search(); $search->addSchema('schema2'); $search->addColumn('%pageid%'); if ($expectException !== false) { $this->setExpectedException($expectException); } $search->addFilter($colname, $value, $comp, $type); if (count($expected_filter) === 0) { $this->assertEquals(count($search->filter), 0, $msg); return; } $this->assertEquals($expected_filter[0][0], $search->filter[0][0]->getLabel(), $msg); $this->assertEquals($expected_filter[0][1], $search->filter[0][1], $msg); $this->assertEquals($expected_filter[0][2], $search->filter[0][2], $msg); $this->assertEquals($expected_filter[0][3], $search->filter[0][3], $msg); }
public function test_filter() { $this->loadSchemaJSON('decimal'); $this->waitForTick(); $this->saveData('page1', 'decimal', array('field' => '5000')); $this->saveData('page2', 'decimal', array('field' => '5000.001')); $this->saveData('page3', 'decimal', array('field' => '900.5')); $this->saveData('page4', 'decimal', array('field' => '1.5')); $search = new Search(); $search->addSchema('decimal'); $search->addColumn('%pageid%'); $search->addColumn('field'); $search->addFilter('field', '800', '>', 'AND'); $search->addSort('field', true); /** @var Value[][] $result */ $result = $search->execute(); $this->assertEquals(3, count($result)); $this->assertEquals('page3', $result[0][0]->getValue()); $this->assertEquals('page1', $result[1][0]->getValue()); $this->assertEquals('page2', $result[2][0]->getValue()); }