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(); }