public function testHasAndFindSubSemanticData() { $title = Title::newFromText(__METHOD__); $instance = new SemanticData(DIWikiPage::newFromTitle($title)); $subobject = $this->newSubobject($title); $subobjectName = $subobject->getSemanticData()->getSubject()->getSubobjectName(); $this->assertFalse($instance->hasSubSemanticData()); $this->assertEmpty($instance->findSubSemanticData($subobjectName)); // Adds only a subobject reference to the container $instance->addPropertyObjectValue($subobject->getProperty(), $subobject->getSemanticData()->getSubject()); $this->assertFalse($instance->hasSubSemanticData($subobjectName)); $this->assertEmpty($instance->findSubSemanticData($subobjectName)); $instance->addSubSemanticData($subobject->getSemanticData()); $this->assertTrue($instance->hasSubSemanticData($subobjectName)); $this->assertNotEmpty($instance->findSubSemanticData($subobjectName)); $this->assertInstanceOf('SMWContainerSemanticData', $instance->findSubSemanticData($subobjectName)); }