public function testToString() { $types = array('listitem' => 'string', 'stringvar' => 'string', 'floatvar' => 'float', 'intvar' => 'int', 'boolvar' => 'bool', 'undefined' => 'int'); $translations = array('listitem' => '$listitem', 'stringvar' => '$stringvar', 'floatvar' => '$floatvar', 'intvar' => '$intvar', 'boolvar' => '$boolvar', 'undefined' => '$undefined'); $expr1 = array(); $expr1[] = new MW_Common_Criteria_Expression_Compare_PHP('==', 'listitem', array('a', 'b', 'c')); $expr1[] = new MW_Common_Criteria_Expression_Compare_PHP('==', 'stringvar', 'value'); $expr2 = array(); $expr2[] = new MW_Common_Criteria_Expression_Compare_PHP('<', 'floatvar', 0.1); $expr2[] = new MW_Common_Criteria_Expression_Compare_PHP('>', 'intvar', 10); $objects = array(); $objects[] = new MW_Common_Criteria_Expression_Combine_PHP('&&', $expr1); $objects[] = new MW_Common_Criteria_Expression_Combine_PHP('&&', $expr2); $object = new MW_Common_Criteria_Expression_Combine_PHP('||', $objects); $test = new MW_Common_Criteria_Expression_Combine_PHP('!', array($object)); $expected = " ! ( ( ( \$listitem == 'a' || \$listitem == 'b' || \$listitem == 'c' ) && \$stringvar == 'value' ) || ( \$floatvar < 0.1 && \$intvar > 10 ) )"; $this->assertEquals($expected, $test->toString($types, $translations)); }
/** * Returns the available compare, combine and sort operators. * * @return array Associative list of lists (compare, combine, sort) containing the available operators */ public function getOperators() { return array('combine' => MW_Common_Criteria_Expression_Combine_PHP::getOperators(), 'compare' => MW_Common_Criteria_Expression_Compare_PHP::getOperators(), 'sort' => MW_Common_Criteria_Expression_Sort_PHP::getOperators()); }