public void Test_mapping_complex_type_with_complex_element_to_single_acc() { var mappingFileName = TestUtils.PathToTestResource(@"XSDImporterTest\mapping\SchemaMappingTests\mapping_complex_type_with_complex_element_to_single_acc\mapping.mfd"); var xsdFileName = TestUtils.PathToTestResource(@"XSDImporterTest\mapping\SchemaMappingTests\mapping_complex_type_with_complex_element_to_single_acc\invoice\maindoc\UBL-Invoice-2.0.xsd"); SchemaMapping mappings = CreateSchemaMapping(mappingFileName, xsdFileName); var expectedSimpleTypeMappings = new List <SimpleTypeToCdtMapping>(); var issueDateTypeMapping = new ComplexTypeToCdtMapping("Issue", "IssueDateType", new List <ElementMapping>()) { TargetCdt = cdtDateTime }; var orderReferenceTypeMapping = new ComplexTypeToAccMapping("OrderReference", "OrderReferenceType", new List <ElementMapping> { new AttributeOrSimpleElementOrComplexElementToBccMapping(new SourceItem("IssueDate", null, XsdObjectType.Element, null), bccIssue, issueDateTypeMapping), }); var expectedComplexTypeMappings = new List <IMapping> { issueDateTypeMapping, orderReferenceTypeMapping, }; var expectedRootElementMapping = new AsmaMapping(new SourceItem("OrderReference", null, XsdObjectType.Element, null)) { TargetMapping = orderReferenceTypeMapping }; 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_complex_type_with_simple_elements_and_attributes_to_cdt() { var mappingFileName = TestUtils.PathToTestResource(@"XSDImporterTest\mapping\SchemaMappingTests\mapping_complex_type_with_simple_elements_and_attributes_to_cdt\mapping.mfd"); var xsdFileName = TestUtils.PathToTestResource(@"XSDImporterTest\mapping\SchemaMappingTests\mapping_complex_type_with_simple_elements_and_attributes_to_cdt\source.xsd"); SchemaMapping mappings = CreateSchemaMapping(mappingFileName, xsdFileName); var textTypeMapping = new ComplexTypeToCdtMapping("Text", "TextType", new List <ElementMapping> { new AttributeOrSimpleElementToSupMapping(new SourceItem("Language", null, XsdObjectType.Attribute, null), supTextLanguage), new AttributeOrSimpleElementToSupMapping(new SourceItem("LanguageLocale", null, XsdObjectType.Attribute, null), supTextLanguageLocale), }); var addressTypeMapping = new ComplexTypeToAccMapping("Address", "AddressType", new List <ElementMapping> { new AttributeOrSimpleElementOrComplexElementToBccMapping(new SourceItem("CityName", null, XsdObjectType.Element, null), bccCityName, textTypeMapping), }); var expectedComplexTypeMappings = new List <IMapping> { textTypeMapping, addressTypeMapping, }; var expectedRootElementMapping = new AsmaMapping(new SourceItem("Address", null, XsdObjectType.Element, null)) { TargetMapping = addressTypeMapping }; AssertMappings(mappings, expectedComplexTypeMappings, new List <SimpleTypeToCdtMapping>(), expectedRootElementMapping); }
public void Test_mapping_complex_type_with_simple_elements_all_to_single_acc() { var mappingFileName = TestUtils.PathToTestResource(@"XSDImporterTest\mapping\SchemaMappingTests\mapping_complex_type_with_simple_elements_all_to_single_acc\mapping.mfd"); var xsdFileName = TestUtils.PathToTestResource(@"XSDImporterTest\mapping\SchemaMappingTests\mapping_complex_type_with_simple_elements_all_to_single_acc\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("CityName", null, XsdObjectType.Element, null), bccCityName, stringMapping), new AttributeOrSimpleElementOrComplexElementToBccMapping(new SourceItem("CountryName", null, XsdObjectType.Element, null), bccCountryName, 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_two_complex_types_with_complex_elements_to_duplicated_bcc() { var mappingFileName = TestUtils.PathToTestResource(@"XSDImporterTest\mapping\SchemaMappingTests\mapping_two_complex_types_with_complex_elements_to_duplicated_bcc\mapping.mfd"); var xsdFileName = TestUtils.PathToTestResource(@"XSDImporterTest\mapping\SchemaMappingTests\mapping_two_complex_types_with_complex_elements_to_duplicated_bcc\source.xsd"); SchemaMapping mappings = CreateSchemaMapping(mappingFileName, xsdFileName); var textTypeToTextMapping = new ComplexTypeToCdtMapping("Text", "TextType", new List <ElementMapping> { new AttributeOrSimpleElementToSupMapping(new SourceItem("Language", null, XsdObjectType.Attribute, null), supTextLanguage), }); var austrianAddressTypeMapping = new ComplexTypeToAccMapping("AustrianAddress", "AustrianAddressType", new List <ElementMapping> { new AttributeOrSimpleElementOrComplexElementToBccMapping(new SourceItem("CityName", null, XsdObjectType.Element, null), bccCityName, textTypeToTextMapping), }); var indianAddressTypeMapping = new ComplexTypeToAccMapping("IndianAddress", "IndianAddressType", new List <ElementMapping> { new AttributeOrSimpleElementOrComplexElementToBccMapping(new SourceItem("CityName", null, XsdObjectType.Element, null), bccCityName, textTypeToTextMapping), }); var addressBookTypeMapping = new ComplexTypeToMaMapping("AddressBook", "AddressBookType", new List <ElementMapping> { new AsmaMapping(new SourceItem("AustrianAddress", null, XsdObjectType.Element, null)) { TargetMapping = austrianAddressTypeMapping }, new AsmaMapping(new SourceItem("IndianAddress", null, XsdObjectType.Element, null)) { TargetMapping = indianAddressTypeMapping }, }); var expectedComplexTypeMappings = new List <IMapping> { textTypeToTextMapping, austrianAddressTypeMapping, indianAddressTypeMapping, addressBookTypeMapping, }; var expectedRootElementMapping = new AsmaMapping(new SourceItem("InternationalAddressBook", null, XsdObjectType.Element, null)) { TargetMapping = addressBookTypeMapping }; AssertMappings(mappings, expectedComplexTypeMappings, new List <SimpleTypeToCdtMapping>(), 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); }