コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }