public function testMatch() { $criterion = KVDdb_Criterion::matches('provincie', 'West-Vlaanderen'); $this->assertInstanceOf('KVDdb_MatchCriterion', $criterion); $this->assertEquals("( UPPER( provincie ) LIKE UPPER( 'West-Vlaanderen' ) )", $criterion->generateSql()); $criterion = KVDdb_Criterion::matches('provincie', '%West-Vlaanderen'); $this->assertInstanceOf('KVDdb_MatchCriterion', $criterion); $this->assertEquals("( UPPER( provincie ) LIKE UPPER( '%West-Vlaanderen' ) )", $criterion->generateSql()); $criterion = KVDdb_Criterion::matches('provincie', '__st-Vlaanderen'); $this->assertInstanceOf('KVDdb_MatchCriterion', $criterion); $this->assertEquals("( UPPER( provincie ) LIKE UPPER( '__st-Vlaanderen' ) )", $criterion->generateSql()); }
public function testComplexCombination() { $criterion = KVDdb_Criterion::equals('provincie', 'West-Vlaanderen'); $criterion2 = KVDdb_Criterion::equals('provincie', 'Oost-Vlaanderen'); $criterion2->addAnd(KVDdb_Criterion::equals('gemeente', 'Maldegem')); $criterion->addOr($criterion2); $this->assertEquals("( provincie = 'West-Vlaanderen' OR ( provincie = 'Oost-Vlaanderen' AND ( gemeente = 'Maldegem' ) ) )", $criterion->generateSql()); $this->criteria->add($criterion); $this->criteria->add(KVDdb_Criterion::matches('naam', '%berg%')); $this->assertEquals("WHERE ( provincie = 'West-Vlaanderen' OR ( provincie = 'Oost-Vlaanderen' AND ( gemeente = 'Maldegem' ) ) ) AND ( UPPER( naam ) LIKE UPPER( '%berg%' ) )", $this->criteria->generateSql()); }