예제 #1
0
 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());
 }
예제 #2
0
 /**
  * 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());
 }