def to_data(instance: 'CdmOperationAddTypeAttribute', res_opt: 'ResolveOptions', options: 'CopyOptions') -> 'OperationAddTypeAttribute': from cdm.persistence.cdmfolder.type_attribute_persistence import TypeAttributePersistence if not instance: return None obj = OperationBasePersistence.to_data(instance, res_opt, options) # type: OperationAddTypeAttribute obj.typeAttribute = TypeAttributePersistence.to_data(instance.type_attribute, res_opt, options) return obj
def to_data(instance: 'CdmOperationAddTypeAttribute', res_opt: 'ResolveOptions', options: 'CopyOptions') -> 'OperationAddTypeAttribute': from cdm.persistence.cdmfolder.type_attribute_persistence import TypeAttributePersistence if not instance: return None obj = OperationAddTypeAttribute() obj.type = OperationTypeConvertor._operation_type_to_string(CdmOperationType.ADD_TYPE_ATTRIBUTE) obj.explanation = instance.explanation obj.typeAttribute = TypeAttributePersistence.to_data(instance.type_attribute, res_opt, options) return obj
def to_data(instance: 'CdmOperationReplaceAsForeignKey', res_opt: 'ResolveOptions', options: 'CopyOptions') -> 'OperationReplaceAsForeignKey': from cdm.persistence.cdmfolder.type_attribute_persistence import TypeAttributePersistence if not instance: return None obj = OperationBasePersistence.to_data( instance, res_opt, options) # type: OperationReplaceAsForeignKey obj.reference = instance.reference obj.replaceWith = TypeAttributePersistence.to_data( instance.replace_with, res_opt, options) return obj
def to_data(instance: 'CdmOperationCombineAttributes', res_opt: 'ResolveOptions', options: 'CopyOptions') -> 'OperationCombineAttributes': from cdm.persistence.cdmfolder.type_attribute_persistence import TypeAttributePersistence if not instance: return None obj = OperationBasePersistence.to_data( instance, res_opt, options) # type: OperationCombineAttributes obj.select = instance.select obj.mergeInto = TypeAttributePersistence.to_data( instance.merge_into, res_opt, options) return obj
def to_data(instance: 'CdmOperationCombineAttributes', res_opt: 'ResolveOptions', options: 'CopyOptions') -> 'OperationCombineAttributes': from cdm.persistence.cdmfolder.type_attribute_persistence import TypeAttributePersistence if not instance: return None obj = OperationCombineAttributes() obj.type = OperationTypeConvertor._operation_type_to_string( CdmOperationType.COMBINE_ATTRIBUTES) obj.explanation = instance.explanation obj.take = instance.take obj.mergeInto = TypeAttributePersistence.to_data( instance.merge_into, res_opt, options) return obj
def to_data(instance: 'CdmOperationAddArtifactAttribute', res_opt: 'ResolveOptions', options: 'CopyOptions') -> 'OperationAddArtifactAttribute': from cdm.persistence.cdmfolder.type_attribute_persistence import TypeAttributePersistence from cdm.objectmodel import CdmTypeAttributeDefinition if not instance: return None obj = OperationBasePersistence.to_data( instance, res_opt, options) # type: OperationAddArtifactAttribute if isinstance(instance.new_attribute, CdmTypeAttributeDefinition): obj.newAttribute = TypeAttributePersistence.to_data( instance.new_attribute, res_opt, options) obj.newAttribute = instance.new_attribute obj.insertAtTop = instance.insert_at_top return obj
async def test_cardinality_persistence(self): ''' Testing that cardinality settings are loaded and saved correctly ''' corpus = TestHelper.get_local_corpus(self.tests_subpath, 'test_cardinality_persistence') # test from_data entity = await corpus.fetch_object_async( 'local:/someEntity.cdm.json/someEntity' ) # type: CdmEntityDefinition attribute = entity.attributes[0] # type: CdmTypeAttributeDefinition self.assertIsNotNone(attribute.cardinality) self.assertEqual(attribute.cardinality.minimum, '0') self.assertEqual(attribute.cardinality.maximum, '1') # test to_data attribute_data = TypeAttributePersistence.to_data( attribute, ResolveOptions(entity.in_document), CopyOptions()) self.assertIsNotNone(attribute_data.cardinality) self.assertEqual(attribute_data.cardinality.minimum, '0') self.assertEqual(attribute_data.cardinality.maximum, '1')