/** * @covers ::having * @covers ::havingIn * @covers ::havingLike * @covers ::havingNot * @covers ::havingRaw * @covers ::getHaving * @covers ::setHaving * @covers ::clearHaving */ public function testHaving() { $query = new Query\Select(self::getDb()); $query->having('test1', 2)->havingIn('test2', array(2, 3))->havingNot('test4', '123')->havingLike('test5', '123%')->havingRaw('column = ? OR column = ?', array(10, 20))->having('test3', 3); $expected = array(new SQL\ConditionIs('test1', 2), new SQL\ConditionIn('test2', array(2, 3)), new SQL\ConditionNot('test4', '123'), new SQL\ConditionLike('test5', '123%'), new SQL\Condition(null, 'column = ? OR column = ?', array(10, 20)), new SQL\ConditionIs('test3', 3)); $this->assertEquals($expected, $query->getHaving()); $query->clearHaving(); $this->assertEmpty($query->getHaving()); $query->setHaving($expected); $this->assertEquals($expected, $query->getHaving()); }