/**
  * Issue #241
  */
 public function testCategoryAnnotationForBothColonIdentifier()
 {
     $text = '[[Category:SingleColonNotion]], [[Category::DoubleColonNotion]]';
     $expected = array('propertyCount' => 1, 'propertyties' => array(new DIProperty('_INST'), new DIProperty('Category')), 'propertyValues' => array('SingleColonNotion', 'DoubleColonNotion'));
     $parserData = new ParserData(Title::newFromText(__METHOD__), new ParserOutput());
     $instance = ApplicationFactory::getInstance()->newInTextAnnotationParser($parserData);
     $instance->parse($text);
     $semanticDataValidator = new SemanticDataValidator();
     $semanticDataValidator->assertThatPropertiesAreSet($expected, $parserData->getSemanticData());
 }
 public function testCreatePageWithSubobject()
 {
     $this->title = Title::newFromText(__METHOD__);
     $pageCreator = new PageCreator();
     $pageCreator->createPage($this->title)->doEdit('{{#subobject:namedSubobject|AA=Test1|@sortkey=Z}}' . '{{#subobject:|BB=Test2|@sortkey=Z}}');
     $semanticData = $this->getStore()->getSemanticData(DIWikiPage::newFromTitle($this->title));
     $this->assertInstanceOf('SMW\\SemanticData', $semanticData->findSubSemanticData('namedSubobject'));
     $expected = array('propertyCount' => 2, 'properties' => array(new DIProperty('AA'), new DIProperty('BB'), new DIProperty('_SKEY')), 'propertyValues' => array('Test1', 'Test2', 'Z'));
     $semanticDataValidator = new SemanticDataValidator();
     foreach ($semanticData->getSubSemanticData() as $subSemanticData) {
         $semanticDataValidator->assertThatPropertiesAreSet($expected, $subSemanticData);
     }
 }
 protected function assertSemanticDataAfterParse($instance, $expected)
 {
     $parserData = new ParserData($instance->getTitle(), $instance->getOutput());
     $semanticDataValidator = new SemanticDataValidator();
     $semanticDataValidator->assertThatPropertiesAreSet($expected, $parserData->getSemanticData());
 }