private function getPropertyDataTypeMatcher()
 {
     $inMemoryDataTypeLookup = new InMemoryDataTypeLookup();
     $inMemoryDataTypeLookup->setDataTypeForProperty(new PropertyId('P2'), 'string');
     $propertyDataTypeLookup = new InProcessCachingDataTypeLookup($inMemoryDataTypeLookup);
     return new PropertyDataTypeMatcher($propertyDataTypeLookup);
 }
Example #2
0
 private function getValuesFinder()
 {
     $dataTypeLookup = new InMemoryDataTypeLookup();
     foreach (self::$propertyDataTypes as $propertyId => $dataType) {
         $dataTypeLookup->setDataTypeForProperty(new PropertyId($propertyId), $dataType);
     }
     return new ValuesFinder($dataTypeLookup);
 }
 public function newSnakConstructionService()
 {
     $dataTypeLookup = new InMemoryDataTypeLookup();
     $dataTypeFactory = new DataTypeFactory(array('string' => 'string'));
     $dataValueFactory = new DataValueFactory(new DataValueDeserializer(array('string' => 'DataValues\\StringValue')));
     $dataTypeLookup->setDataTypeForProperty(new PropertyId('p1'), 'string');
     $service = new SnakConstructionService($dataTypeLookup, $dataTypeFactory, $dataValueFactory);
     return $service;
 }
 /**
  * @return WikibaseSnakFormatterBuilders
  */
 private function getWikibaseSnakFormatterBuilders()
 {
     $p1 = new PropertyId('P1');
     $valueFormatterBuilders = $this->getMockBuilder('Wikibase\\Lib\\WikibaseValueFormatterBuilders')->disableOriginalConstructor()->getMock();
     $valueFormatterBuilders->expects($this->any())->method('newStringFormatter')->will($this->returnValue(new StringFormatter()));
     $propertyInfoStore = new MockPropertyInfoStore();
     $propertyInfoStore->setPropertyInfo($p1, array(PropertyInfoStore::KEY_DATA_TYPE => 'external-id', PropertyInfoStore::KEY_FORMATTER_URL => 'http://acme.com/vocab/$1'));
     $dataTypeLookup = new InMemoryDataTypeLookup();
     $dataTypeLookup->setDataTypeForProperty($p1, 'external-id');
     $dataTypeFactory = new DataTypeFactory(array('external-id' => 'string'));
     return new WikibaseSnakFormatterBuilders($valueFormatterBuilders, $propertyInfoStore, $dataTypeLookup, $dataTypeFactory);
 }
 public function testSetAndGetDataType()
 {
     $propertyId = new PropertyId('p7201010');
     $stringTypeId = 'string-datatype';
     $intTypeId = 'integer';
     $lookup = new InMemoryDataTypeLookup();
     $lookup->setDataTypeForProperty($propertyId, $stringTypeId);
     $actual = $lookup->getDataTypeIdForProperty($propertyId);
     $this->assertInternalType('string', $actual);
     $this->assertEquals($stringTypeId, $actual);
     $lookup->setDataTypeForProperty($propertyId, $intTypeId);
     $actual = $lookup->getDataTypeIdForProperty($propertyId);
     $this->assertNotEquals($stringTypeId, $actual);
     $this->assertEquals($intTypeId, $actual);
 }
 private function getPropertyDataTypeLookup()
 {
     $dataTypeLookup = new InMemoryDataTypeLookup();
     $dataTypeLookup->setDataTypeForProperty(new PropertyId('P42'), 'url');
     $dataTypeLookup->setDataTypeForProperty(new PropertyId('P10'), 'commonsMedia');
     return $dataTypeLookup;
 }
 private function getPropertyDataTypeLookup()
 {
     $dataTypeLookup = new InMemoryDataTypeLookup();
     $dataTypeLookup->setDataTypeForProperty(new PropertyId('P42'), 'string');
     $dataTypeLookup->setDataTypeForProperty(new PropertyId('P10'), 'globe-coordinate');
     $dataTypeLookup->setDataTypeForProperty(new PropertyId('P17'), 'globe-coordinate');
     $dataTypeLookup->setDataTypeForProperty(new PropertyId('P20'), 'globe-coordinate');
     $dataTypeLookup->setDataTypeForProperty(new PropertyId('P625'), 'globe-coordinate');
     $dataTypeLookup->setDataTypeForProperty(new PropertyId('P9000'), 'globe-coordinate');
     $dataTypeLookup->setDataTypeForProperty(new PropertyId('P9001'), 'globe-coordinate');
     $dataTypeLookup->setDataTypeForProperty(new PropertyId('P9002'), 'globe-coordinate');
     return $dataTypeLookup;
 }