public function descriptionProvider()
 {
     $descriptionFactory = new DescriptionFactory();
     #0 Disjunction
     $description = $descriptionFactory->newDisjunction();
     $description->addDescription($descriptionFactory->newNamespaceDescription(NS_HELP));
     $description->addDescription($descriptionFactory->newNamespaceDescription(NS_MAIN));
     $expectedDisjunction = new \stdClass();
     $expectedDisjunction->type = 3;
     $expectedDisjunction->components = array(1 => true, 2 => true);
     $provider[] = array($description, $expectedDisjunction);
     #1 Conjunction
     $description = $descriptionFactory->newConjunction();
     $description->addDescription($descriptionFactory->newNamespaceDescription(NS_HELP));
     $description->addDescription($descriptionFactory->newNamespaceDescription(NS_MAIN));
     $expectedConjunction = new \stdClass();
     $expectedConjunction->type = 4;
     $expectedConjunction->components = array(1 => true, 2 => true);
     $provider[] = array($description, $expectedConjunction);
     #2 No query
     $description = $descriptionFactory->newConjunction();
     $description->addDescription($descriptionFactory->newThingDescription());
     $expectedConjunction = new \stdClass();
     $expectedConjunction->type = 0;
     $expectedConjunction->components = array();
     $provider[] = array($description, $expectedConjunction);
     return $provider;
 }
 private function newConjunctionFor($currentDescription, $newDescription)
 {
     if ($this->queryFeatures & SMW_CONJUNCTION_QUERY) {
         return $this->descriptionFactory->newConjunction(array($currentDescription, $newDescription));
     }
     $this->addErrorWithMsgKey('smw_noconjunctions', $newDescription->getQueryString());
     return $currentDescription;
 }
 public function testCanConstructConjunction()
 {
     $descriptions = array();
     $description = $this->getMockBuilder('\\SMW\\Query\\Language\\SomeProperty')->disableOriginalConstructor()->getMock();
     $descriptions[] = $description;
     $description = $this->getMockBuilder('\\SMW\\Query\\Language\\ValueDescription')->disableOriginalConstructor()->getMock();
     $descriptions[] = $description;
     $instance = new DescriptionFactory();
     $this->assertInstanceOf('SMW\\Query\\Language\\Conjunction', $instance->newConjunction($descriptions));
 }