public void Test_mapping_complex_type_with_two_simple_elements_to_two_accs() { var mappingFileName = TestUtils.PathToTestResource(@"XSDImporterTest\mapping\SchemaMappingTests\mapping_complex_type_with_two_simple_elements_to_two_accs\mapping.mfd"); var xsdFileName = TestUtils.PathToTestResource(@"XSDImporterTest\mapping\SchemaMappingTests\mapping_complex_type_with_two_simple_elements_to_two_accs\source.xsd"); SchemaMapping mappings = CreateSchemaMapping(mappingFileName, xsdFileName); SimpleTypeToCdtMapping stringMapping = new SimpleTypeToCdtMapping("String", cdtText); var expectedSimpleTypeMappings = new List <SimpleTypeToCdtMapping> { stringMapping, }; var addressTypeMapping = new ComplexTypeToMaMapping("Address", "AddressType", new List <ElementMapping> { new AttributeOrSimpleElementOrComplexElementToBccMapping(new SourceItem("CityName", null, XsdObjectType.Element, null), bccCityName, stringMapping), new AttributeOrSimpleElementOrComplexElementToBccMapping(new SourceItem("PersonName", null, XsdObjectType.Element, null), bccPartyName, stringMapping), }); var expectedComplexTypeMappings = new List <IMapping> { addressTypeMapping, }; var expectedRootElementMapping = new AsmaMapping(new SourceItem("Address", null, XsdObjectType.Element, null)) { TargetMapping = addressTypeMapping }; AssertMappings(mappings, expectedComplexTypeMappings, expectedSimpleTypeMappings, expectedRootElementMapping); }
public void Test_mapping_simple_element_and_attributes_to_acc_with_mapping_function_split() { var mappingFileName = TestUtils.PathToTestResource(@"XSDImporterTest\mapping\SchemaMappingTests\mapping_simple_element_and_attributes_to_acc_with_mapping_function_split\mapping.mfd"); var xsdFileName = TestUtils.PathToTestResource(@"XSDImporterTest\mapping\SchemaMappingTests\mapping_simple_element_and_attributes_to_acc_with_mapping_function_split\source.xsd"); SchemaMapping mappings = CreateSchemaMapping(mappingFileName, xsdFileName); SimpleTypeToCdtMapping stringMapping = new SimpleTypeToCdtMapping("String", cdtText); var expectedSimpleTypeMappings = new List <SimpleTypeToCdtMapping> { stringMapping, }; var addressTypeMapping = new ComplexTypeToAccMapping("Address", "AddressType", new List <ElementMapping> { new SplitMapping(new SourceItem("Street", null, XsdObjectType.Element, null), new[] { bccStreetName, bccBuildingNumber }, new [] { stringMapping, stringMapping }), new AttributeOrSimpleElementOrComplexElementToBccMapping(new SourceItem("Town", null, XsdObjectType.Element, null), bccCityName, stringMapping), }); var expectedComplexTypeMappings = new List <IMapping> { addressTypeMapping, }; var expectedRootElementMapping = new AsmaMapping(new SourceItem("Address", null, XsdObjectType.Element, null)) { TargetMapping = addressTypeMapping }; AssertMappings(mappings, expectedComplexTypeMappings, expectedSimpleTypeMappings, expectedRootElementMapping); }
public void Test_mapping_with_semisemantic_loss() { var mappingFileName = TestUtils.PathToTestResource(@"XSDImporterTest\mapping\SchemaMappingTests\mapping_with_semisemantic_loss\mapping.mfd"); var xsdFileName = TestUtils.PathToTestResource(@"XSDImporterTest\mapping\SchemaMappingTests\mapping_with_semisemantic_loss\source.xsd"); SchemaMapping mappings = CreateSchemaMapping(mappingFileName, xsdFileName); SimpleTypeToCdtMapping stringMapping = new SimpleTypeToCdtMapping("String", cdtText); var expectedSimpleTypeMappings = new List <SimpleTypeToCdtMapping> { stringMapping, }; var addressTypeMapping = new ComplexTypeToAccMapping("Address", "AddressType", new List <ElementMapping> { new AttributeOrSimpleElementOrComplexElementToBccMapping(new SourceItem("StreetName", null, XsdObjectType.Element, null), bccCityName, stringMapping), new AttributeOrSimpleElementOrComplexElementToBccMapping(new SourceItem("Town", null, XsdObjectType.Element, null), bccCityName, stringMapping), }); var personTypeMapping = new ComplexTypeToAccMapping("Person", "PersonType", new List <ElementMapping> { new AttributeOrSimpleElementOrComplexElementToBccMapping(new SourceItem("FirstName", null, XsdObjectType.Element, null), bccPartyName, stringMapping), new AttributeOrSimpleElementOrComplexElementToBccMapping(new SourceItem("LastName", null, XsdObjectType.Element, null), bccPartyName, stringMapping), new ComplexElementToAsccMapping(new SourceItem("HomeAddress", null, XsdObjectType.Element, null), asccPartyResidenceAddress) { TargetMapping = addressTypeMapping }, new ComplexElementToAsccMapping(new SourceItem("WorkAddress", null, XsdObjectType.Element, null), asccPartyResidenceAddress) { TargetMapping = addressTypeMapping }, }); var expectedComplexTypeMappings = new List <IMapping> { addressTypeMapping, personTypeMapping }; var expectedRootElementMapping = new AsmaMapping(new SourceItem("Person", null, XsdObjectType.Element, null)) { TargetMapping = personTypeMapping }; AssertMappings(mappings, expectedComplexTypeMappings, expectedSimpleTypeMappings, expectedRootElementMapping); }
public void Test_mapping_recursive_complex_type() { var mappingFileName = TestUtils.PathToTestResource(@"XSDImporterTest\mapping\SchemaMappingTests\mapping_recursive_complex_type\mapping.mfd"); var xsdFileName = TestUtils.PathToTestResource(@"XSDImporterTest\mapping\SchemaMappingTests\mapping_recursive_complex_type\source.xsd"); SchemaMapping mappings = CreateSchemaMapping(mappingFileName, xsdFileName); SimpleTypeToCdtMapping stringMapping = new SimpleTypeToCdtMapping("String", cdtText); var expectedSimpleTypeMappings = new List <SimpleTypeToCdtMapping> { stringMapping, }; List <ElementMapping> personTypeChildMappings = new List <ElementMapping> { new AttributeOrSimpleElementOrComplexElementToBccMapping(new SourceItem("FirstName", null, XsdObjectType.Element, null), bccPartyName, stringMapping), new AttributeOrSimpleElementOrComplexElementToBccMapping(new SourceItem("LastName", null, XsdObjectType.Element, null), bccPartyName, stringMapping), }; var personTypeMapping = new ComplexTypeToAccMapping("Person", "PersonType", personTypeChildMappings); personTypeMapping.AddChildMapping(new ComplexElementToAsccMapping(new SourceItem("Children", null, XsdObjectType.Element, null), asccPartyChildren) { TargetMapping = personTypeMapping }); var expectedComplexTypeMappings = new List <IMapping> { personTypeMapping }; var expectedRootElementMapping = new AsmaMapping(new SourceItem("Person", null, XsdObjectType.Element, null)) { TargetMapping = personTypeMapping }; AssertMappings(mappings, expectedComplexTypeMappings, expectedSimpleTypeMappings, expectedRootElementMapping); }