private function buildQueryForDisjunction(Disjunction $disjunction, PropertyId $propertyId = null) { $parameters = []; foreach ($disjunction->getDescriptions() as $description) { $parameters[] = $this->buildQueryForDescription($description, $propertyId); } return new OrQuery($parameters); }
/** * @dataProvider instanceProvider * * @since 1.0 * * @param Disjunction $description */ public function testGetDescriptions(Disjunction $description) { $descriptions = $description->getDescriptions(); $this->assertInternalType('array', $descriptions); foreach ($descriptions as $subInstance) { $this->assertInstanceOf('Ask\\Language\\Description\\Description', $subInstance); } $newInstance = new Disjunction($descriptions); $this->assertEquals($descriptions, $newInstance->getDescriptions(), 'Descriptions are returned as it was passed to the constructor'); }
private function buildQueryForDisjunction(Disjunction $disjunction, Expr $expr, PropertyId $currentProperty = null) { foreach ($disjunction->getDescriptions() as $description) { $expr->addOr($this->buildQueryForDescription($description, new Expr(), $currentProperty)); } return $expr; }