public function testCategoryHierarchies() { $this->importedTitles = array('Category:Regression test', 'Category:Regression test category', 'Category:Regression test sub category', 'Category:Regression test sub sub category', 'CategoryInstanceAndCategoryHierarchyRegressionTest/WithSubpage', 'CategoryInstanceAndCategoryHierarchyRegressionTest/WithSubpage/WithSubSubpage', 'CategoryInstanceAndCategoryHierarchyRegressionTest'); $this->titleValidator->assertThatTitleIsKnown($this->importedTitles); $title = Title::newFromText('CategoryInstanceAndCategoryHierarchyRegressionTest'); $expectedCategoryAsWikiValue = array('property' => new DIProperty('_INST'), 'propertyValues' => array('Regression test', 'Regression test category', 'Regression test sub category', 'Regression test sub sub category', 'Category regression test')); $semanticDataFinder = new ByPageSemanticDataFinder(); $semanticDataFinder->setTitle($title)->setStore($this->getStore()); $semanticDataBatches = array($semanticDataFinder->fetchFromOutput(), $semanticDataFinder->fetchFromStore()); foreach ($semanticDataBatches as $semanticData) { $this->semanticDataValidator->assertThatCategoriesAreSet($expectedCategoryAsWikiValue, $semanticData); } }