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)); }