private function buildQueryForConjunction(Conjunction $conjunction, PropertyId $propertyId = null)
 {
     $parameters = [];
     foreach ($conjunction->getDescriptions() as $description) {
         $parameters[] = $this->buildQueryForDescription($description, $propertyId);
     }
     return new AndQuery($parameters);
 }
Example #2
0
 /**
  * @dataProvider instanceProvider
  *
  * @since 1.0
  *
  * @param Conjunction $description
  */
 public function testGetDescriptions(Conjunction $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 buildQueryForConjunction(Conjunction $conjunction, Expr $expr, PropertyId $currentProperty = null)
 {
     foreach ($conjunction->getDescriptions() as $description) {
         $expr->addAnd($this->buildQueryForDescription($description, new Expr(), $currentProperty));
     }
     return $expr;
 }