public function addCondition($condition) { if (!$condition instanceof App_ListFilter_Rule_Condition_Interface) { $condition = App_ListFilter_Rule_Condition_Factory::createCondition($condition); } $this->_conditions[] = $condition; }
public function testOrOperatorFactory() { $condition = App_ListFilter_Rule_Condition_Factory::createCondition(array('type' => 'orOperator', 'conditions' => array(array('type' => 'sortBy', 'operator' => App_ListFilter_Rule_Condition_SortBy::EQUAL, 'comparedValue' => 'pepito', 'inverted' => true), array('type' => 'groupBy', 'operator' => App_ListFilter_Rule_Condition_GroupBy::EQUAL, 'comparedValue' => 'pepito', 'inverted' => true), array('type' => 'filterBy', 'operator' => App_ListFilter_Rule_Condition_FilterBy::GREATER_THAN, 'comparedValue' => 'equal', 'fieldName' => 'min', 'filterField' => 'fieldName1', 'inverted' => true, 'fromScopeVar' => 'scopeVar1', 'scopeVar' => 'scopeVar2')))); $this->assertInstanceOf('App_ListFilter_Rule_Condition_OrOperator', $condition); $subconds = $condition->getConditions(); $this->assertEquals(3, count($subconds), "Conditions count"); $this->_checkSortByCondition($subconds[0]); $this->_checkGroupByCondition($subconds[1]); $this->_checkFilterByCondition($subconds[2]); }