public function testCommonMethods() { $ns = Localizer::getInstance()->getNamespaceTextById(NS_CATEGORY); $class = new DIWikiPage('Foo', NS_CATEGORY); $instance = new ClassDescription($class); $this->assertEquals(array($class), $instance->getCategories()); $this->assertEquals("[[{$ns}:Foo]]", $instance->getQueryString()); $this->assertEquals(" <q>[[{$ns}:Foo]]</q> ", $instance->getQueryString(true)); $this->assertEquals(false, $instance->isSingleton()); $this->assertEquals(array(), $instance->getPrintRequests()); $this->assertEquals(1, $instance->getSize()); $this->assertEquals(0, $instance->getDepth()); $this->assertEquals(2, $instance->getQueryFeatures()); }
/** * @param ClassDescription $description */ public function addDescription(ClassDescription $description) { $this->m_diWikiPages = array_merge($this->m_diWikiPages, $description->getCategories()); }
private function doMapClassDescription(ClassDescription $description, &$exact) { if (count($description->getCategories()) == 1) { // single category $categories = $description->getCategories(); $result = new ExpData($this->exporter->getResourceElementForWikiPage(end($categories))); } else { // disjunction of categories $result = new ExpData(new ExpResource('')); $elements = array(); foreach ($description->getCategories() as $cat) { $elements[] = new ExpData($this->exporter->getResourceElementForWikiPage($cat)); } $result->addPropertyObjectValue($this->exporter->getSpecialNsResource('owl', 'unionOf'), ExpData::makeCollection($elements)); } $result->addPropertyObjectValue($this->exporter->getSpecialNsResource('rdf', 'type'), new ExpData($this->exporter->getSpecialNsResource('owl', 'Class'))); return $result; }