/** * * @group Core * @group DataTable * @group DataTable_Filter * @group DataTable_Filter_RangeCheck */ public function testRangeCheckNormalDataTableNonIntegerValues() { $table = new Piwik_DataTable(); $table->addRowsFromArray(array(array(Piwik_DataTable_Row::COLUMNS => array('label' => 'ask', 'count' => '3')), array(Piwik_DataTable_Row::COLUMNS => array('label' => 'nintendo', 'count' => 'test')), array(Piwik_DataTable_Row::COLUMNS => array('label' => 'test', 'count' => 0x1232)), array(Piwik_DataTable_Row::COLUMNS => array('label' => 'piwik', 'count' => 0x5)), array(Piwik_DataTable_Row::COLUMNS => array('label' => 'google', 'count' => '9test')), array(Piwik_DataTable_Row::COLUMNS => array('label' => 'yahoo', 'count' => 'test4')))); $filter = new Piwik_DataTable_Filter_RangeCheck($table, 'count', 3.97, 10); $filter->filter($table); $expectedOrder = array(3.97, 3.97, 10, 5, '9test', 3.97); $this->assertEquals($expectedOrder, $table->getColumn('count')); }
/** * @param Piwik_DataTable $table * @param string $columnToFilter name of the column to filter * @param float $minimumValue minimum value for range * @param float $maximumValue maximum value for range */ public function __construct($table, $columnToFilter, $minimumValue = 0.0, $maximumValue = 100.0) { parent::__construct($table); $this->columnToFilter = $columnToFilter; if ($minimumValue < $maximumValue) { self::$minimumValue = $minimumValue; self::$maximumValue = $maximumValue; } }