public function testRegisterProperty()
 {
     $datatypeRegistry = $this->getMockBuilder('\\SMW\\DataTypeRegistry')->disableOriginalConstructor()->getMock();
     $datatypeRegistry->expects($this->once())->method('getKnownTypeLabels')->will($this->returnValue(array()));
     $datatypeRegistry->expects($this->once())->method('getKnownTypeAliases')->will($this->returnValue(array()));
     $propertyLabelFinder = $this->getMockBuilder('\\SMW\\PropertyLabelFinder')->disableOriginalConstructor()->getMock();
     $propertyAliases = array();
     $instance = new PropertyRegistry($datatypeRegistry, $propertyLabelFinder, $propertyAliases);
     $instance->registerProperty(DIProperty::TYPE_HAS_TYPE, '__typ', 'Has type', true);
     $this->assertEquals(array('_TYPE' => array('__typ', true, true)), $instance->getKnownPropertyTypes());
     $this->assertTrue($instance->isVisibleToUser('_TYPE'));
     $this->assertTrue($instance->isUnrestrictedForAnnotationUse('_TYPE'));
     $this->assertTrue($instance->isKnownPropertyId('_TYPE'));
 }