eZ\Publish\Core\Repository\Tests\Service\Integration\ContentTypeBase::assertCreatedFieldDefinitionCorrect PHP Method

assertCreatedFieldDefinitionCorrect() protected method

Asserts that the given $fieldDefinition is correctly created from the create struct in $fieldDefinitionCreateStruct.
protected assertCreatedFieldDefinitionCorrect ( eZ\Publish\API\Repository\Values\ContentType\FieldDefinitionCreateStruct $fieldDefinitionCreateStruct, eZ\Publish\API\Repository\Values\ContentType\FieldDefinition $fieldDefinition )
$fieldDefinitionCreateStruct eZ\Publish\API\Repository\Values\ContentType\FieldDefinitionCreateStruct
$fieldDefinition eZ\Publish\API\Repository\Values\ContentType\FieldDefinition
    protected function assertCreatedFieldDefinitionCorrect($fieldDefinitionCreateStruct, $fieldDefinition)
    {
        foreach ($fieldDefinitionCreateStruct as $propertyName => $propertyValue) {
            switch ($propertyName) {
                case 'fieldSettings':
                    $defaultSettings = $this->repository->getFieldTypeService()->getFieldType($fieldDefinitionCreateStruct->fieldTypeIdentifier)->getSettingsSchema();
                    $fieldDefinitionPropertyValue = (array) $fieldDefinition->{$propertyName} + $defaultSettings;
                    $propertyValue = (array) $propertyValue + $defaultSettings;
                    ksort($fieldDefinitionPropertyValue);
                    ksort($propertyValue);
                    break;
                case 'validatorConfiguration':
                    $fieldDefinitionPropertyValue = (array) $fieldDefinition->{$propertyName};
                    $propertyValue = (array) $propertyValue;
                    $sorter = function ($a, $b) {
                        if ($a->identifier == $b->identifier) {
                            return 0;
                        }
                        return $a->identifier < $b->identifier ? -1 : 1;
                    };
                    usort($fieldDefinitionPropertyValue, $sorter);
                    usort($propertyValue, $sorter);
                    break;
                default:
                    $fieldDefinitionPropertyValue = $fieldDefinition->{$propertyName};
            }
            $this->assertEquals($propertyValue, $fieldDefinitionPropertyValue, "Field definition property '{$propertyName}' is not correctly created");
        }
    }
ContentTypeBase