Beispiel #1
0
        public void IgnoringMemberIgnoresTheMember()
        {
            var mapper = new MemberMapper();

            var proposition = mapper.MappingStrategy.CreateMapProposal(
                new TypePair(typeof(Poco_From), typeof(Poco_To)),
                (ctx, option) =>
            {
                if (ctx.Source.Name == "ID")
                {
                    option.IgnoreMember();
                }
            }
                );

            var expectation = new ExpectedMappings <Poco_From, Poco_To>();

            expectation.Add(t => t.Name, t => t.Name);
            expectation.Add(t => t.OtherIDs, t => t.OtherIDs);

            Assert.IsTrue
            (
                ContainsMappingFor(proposition, expectation)
            );
        }
Beispiel #2
0
        static bool ContainsMappingFor <T, T2>(ProposedMap map, ExpectedMappings <T, T2> mappings)
        {
            int foundMappings = 0;

            foreach (var mapping in mappings.Mappings)
            {
                if (!map.ProposedTypeMapping.ProposedMappings.Contains(
                        new ProposedMemberMapping()
                {
                    SourceMember = GetMemberInfoFromExpression(mapping.Source.Body),
                    DestinationMember = GetMemberInfoFromExpression(mapping.Destination.Body)
                }) &&
                    !map.ProposedTypeMapping.ProposedTypeMappings.Contains(
                        new ProposedTypeMapping
                {
                    SourceMember = GetMemberInfoFromExpression(mapping.Source.Body),
                    DestinationMember = GetMemberInfoFromExpression(mapping.Destination.Body)
                })
                    )
                {
                    return(false);
                }
                else
                {
                    foundMappings++;
                }
            }

            if (map.ProposedTypeMapping.ProposedMappings.Count + map.ProposedTypeMapping.ProposedTypeMappings.Count != foundMappings)
            {
                return(false);
            }

            return(true);
        }
Beispiel #3
0
        public void FieldsAreMapped()
        {
            var mapper = new MemberMapper();

            var proposition = mapper.CreateMapProposal <SourceFields, DestinationFields>();

            var expectation = new ExpectedMappings <SourceFields, DestinationFields>();

            expectation.Add(t => t.ID, t => t.ID);

            Assert.IsTrue(ContainsMappingFor(proposition, expectation));
        }
Beispiel #4
0
        public void ComplexListGetsMappedFromIEnumerable()
        {
            var mapper = new MemberMapper();

            var proposition = mapper.CreateMapProposal(typeof(IEnumerableComplexSourceType), typeof(ListComplexDestinationType));

            var expectation = new ExpectedMappings <IEnumerableComplexSourceType, ListComplexDestinationType>();

            expectation.Add(t => t.Source, t => t.Source);

            Assert.IsTrue(ContainsMappingFor(proposition, expectation));
        }
Beispiel #5
0
        public void ListIntPropertyGetsMappedToArray()
        {
            var mapper = new MemberMapper();

            var proposition = mapper.CreateMapProposal(typeof(ListSourceType), typeof(ArrayDestinationType));

            var expectation = new ExpectedMappings <ListSourceType, ArrayDestinationType>();

            expectation.Add(t => t.Source, t => t.Source);

            Assert.IsTrue(ContainsMappingFor(proposition, expectation));
        }
Beispiel #6
0
        public void ExpectedPropertiesFromInterfaceWillBeMapped()
        {
            var mapper = new MemberMapper();

            var proposition = mapper.MappingStrategy.CreateMapProposal(new TypePair(typeof(IPocoOneProperty_From), typeof(PocoOneProperty_To)));

            var expectation = new ExpectedMappings <IPocoOneProperty_From, PocoOneProperty_To>();

            expectation.Add(t => t.ID, t => t.ID);

            Assert.IsTrue
            (
                ContainsMappingFor(proposition, expectation)
            );
        }
Beispiel #7
0
        public void ExpectedPropertiesWillBeMapped()
        {
            var mapper = new MemberMapper();

            var proposition = mapper.MappingStrategy.CreateMapProposal(new TypePair(typeof(Poco_From), typeof(Poco_To)));

            proposition.FinalizeMap();

            var expectation = new ExpectedMappings <Poco_From, Poco_To>();

            expectation.Add(t => t.ID, t => t.ID);
            expectation.Add(t => t.Name, t => t.Name);
            expectation.Add(t => t.OtherIDs, t => t.OtherIDs);

            Assert.IsTrue
            (
                ContainsMappingFor(proposition, expectation)
            );
        }