public function testToString() { $dbm = TestHelper::getDBManager(); $conn = $dbm->acquire(); $dbm->release($conn); $types = array('list' => MW_DB_Statement_Abstract::PARAM_STR, 'string' => MW_DB_Statement_Abstract::PARAM_STR, 'float' => MW_DB_Statement_Abstract::PARAM_FLOAT, 'int' => MW_DB_Statement_Abstract::PARAM_INT, 'undefined' => MW_DB_Statement_Abstract::PARAM_INT, 'bool' => MW_DB_Statement_Abstract::PARAM_BOOL); $expr1 = array(); $expr1[] = new MW_Common_Criteria_Expression_Compare_SQL($conn, '==', 'list', array('a', 'b', 'c')); $expr1[] = new MW_Common_Criteria_Expression_Compare_SQL($conn, '~=', 'string', 'value'); $expr2 = array(); $expr2[] = new MW_Common_Criteria_Expression_Compare_SQL($conn, '<', 'float', 0.1); $expr2[] = new MW_Common_Criteria_Expression_Compare_SQL($conn, '>', 'int', 10); $objects = array(); $objects[] = new MW_Common_Criteria_Expression_Combine_SQL('&&', $expr1); $objects[] = new MW_Common_Criteria_Expression_Combine_SQL('&&', $expr2); $object = new MW_Common_Criteria_Expression_Combine_SQL('||', $objects); $test = new MW_Common_Criteria_Expression_Combine_SQL('!', array($object)); $expected = " NOT ( ( list IN ('a','b','c') AND string LIKE '%value%' ) OR ( float < 0.1 AND int > 10 ) )"; $this->assertEquals($expected, $test->toString($types)); $obj = new MW_Common_Criteria_Expression_Combine_SQL('&&', array()); $this->assertEquals('', $obj->toString($types)); $this->setExpectedException('MW_Common_Exception'); new MW_Common_Criteria_Expression_Combine_SQL('', array()); }
/** * 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_SQL::getOperators(), 'compare' => MW_Common_Criteria_Expression_Compare_SQL::getOperators(), 'sort' => MW_Common_Criteria_Expression_Sort_SQL::getOperators()); }