public function testFixedProperties()
 {
     $propertyKey = 'Foo';
     $dataItems = array();
     $specials = array();
     $fixed = array($propertyKey => DataItem::TYPE_NUMBER);
     $instance = new PropertyTableDefinitionBuilder($dataItems, $specials, $fixed);
     $instance->doBuild();
     $tableName = $instance->getTablePrefix() . '_' . md5($propertyKey);
     $definition = $instance->newTableDefinition(DataItem::TYPE_NUMBER, $tableName, $propertyKey);
     $expected = array('definition' => array($tableName => $definition), 'tableId' => array($propertyKey => $tableName, '_SKEY' => null));
     $this->assertEquals($expected['definition'], $instance->getTableDefinitions());
     $this->assertEquals($expected['tableId'], $instance->getFixedPropertyTableIds());
 }
 private function buildDefinitionsForPropertyTables()
 {
     $enabledSpecialProperties = $this->fixedSpecialProperties;
     $customizableSpecialProperties = array_flip($this->customizableSpecialProperties);
     foreach ($this->customSpecialPropertyList as $property) {
         if (isset($customizableSpecialProperties[$property])) {
             $enabledSpecialProperties[] = $property;
         }
     }
     $definitionBuilder = new PropertyTableDefinitionBuilder($this->defaultDiTypeTableIdMap, $enabledSpecialProperties, $this->customFixedPropertyList);
     $definitionBuilder->doBuild();
     $this->propertyTableDefinitions = $definitionBuilder->getTableDefinitions();
     $this->fixedPropertyTableIds = $definitionBuilder->getFixedPropertyTableIds();
 }