/** * * @dataProvider getHavingStringProvider */ public function testGetHavingString($havings, $expected, $expectedFormatted, $expectedBoundParameters) { foreach ($havings as $having) { $nbHaving = count($having); if ($nbHaving == 4) { $this->queryBuilder->having($having[0], $having[1], $having[2], $having[3]); } elseif ($nbHaving >= 1 && $nbHaving <= 2) { if ($having[0] == '(') { if (isset($having[1])) { $this->queryBuilder->openHaving($having[1]); } else { $this->queryBuilder->openHaving(); } } elseif ($having[0] == ')') { $this->queryBuilder->closeHaving(); } } } $this->assertEquals($expected, $this->queryBuilder->getHavingString()); $this->assertEquals($expectedFormatted, $this->queryBuilder->getHavingString(true)); $this->assertEquals($expectedBoundParameters, $this->queryBuilder->getBoundParameters()); $this->assertEquals($expectedBoundParameters, $this->queryBuilder->getBoundParameters(false, 'having')); $this->assertEquals(array(), $this->queryBuilder->getBoundParameters(false, 'where')); }