public function testMergeHaving() { $this->queryBuilder->having('score', 5, SelectQueryBuilder::LESS_THAN); $qb = new SelectQueryBuilder(); $qb->openHaving(SelectQueryBuilder::LOGICAL_OR)->having('price', 9, SelectQueryBuilder::NOT_EQUALS, null)->closeHaving(); $this->queryBuilder->mergeHaving($qb); $expected = array(array('column' => 'score', 'value' => 5, 'operator' => '<', 'connector' => 'AND'), array('bracket' => '(', 'connector' => 'OR'), array('column' => 'price', 'value' => 9, 'operator' => '!=', 'connector' => 'AND'), array('bracket' => ')', 'connector' => NULL)); $this->assertEquals($expected, $this->queryBuilder->getHavingParts()); }