コード例 #1
0
ファイル: Test.cs プロジェクト: athoma13/OMap
        public void ShouldMapInheritedComposedObject()
        {
            var foo = new FooO()
            {
                Property1 = 18, Foo = new FooX()
                {
                    Property1 = 7, Property2 = 6
                }
            };

            var mapper = CreateMapper(new ResolverMock(), builder =>
            {
                builder.CreateMap <Foo, Bar>()
                .MapProperty(x => x.Property1, x => x.Property3);

                builder.CreateMap <FooX, BarX>()
                .MapProperty(x => x.Property2, x => x.Property4);

                builder.CreateMap <FooO, BarO>()
                .MapProperty(x => x.Property1, x => x.Property1)
                .MapObject(x => x.Foo, x => x.Bar);
            });

            var bar = mapper.Map <BarO>(foo);

            Assert.AreEqual(foo.Property1, bar.Property1);
            Assert.AreEqual(foo.Foo.Property1, bar.Bar.Property3);
            Assert.IsInstanceOf <BarX>(bar.Bar);
            Assert.AreEqual(((FooX)foo.Foo).Property2, ((BarX)bar.Bar).Property4);
        }
コード例 #2
0
ファイル: Test.cs プロジェクト: athoma13/OMap
        public void ShouldMapComposedObjectExistingObject()
        {
            var foo = new FooO()
            {
                Property1 = 18, Foo = new Foo()
                {
                    Property1 = 7
                }
            };

            var mapper = CreateMapper(new ResolverMock(), builder =>
            {
                builder.CreateMap <Foo, Bar>()
                .MapProperty(x => x.Property1, x => x.Property3);

                builder.CreateMap <FooO, BarO>()
                .MapProperty(x => x.Property1, x => x.Property1)
                .MapObject(x => x.Foo, x => x.Bar);
            });

            var bar  = new Bar();
            var barO = new BarO {
                Bar = bar
            };

            mapper.Map(foo, barO);
            Assert.AreEqual(foo.Property1, barO.Property1);
            Assert.AreEqual(foo.Foo.Property1, barO.Bar.Property3);
            Assert.AreSame(bar, barO.Bar, "Should not have created a new instance of Bar");
        }
コード例 #3
0
ファイル: Test.cs プロジェクト: athoma13/OMap
        public void ShouldMapComposedObject()
        {
            var foo = new FooO()
            {
                Property1 = 18, Foo = new Foo()
                {
                    Property1 = 7
                }
            };

            var mapper = CreateMapper(new ResolverMock(), builder =>
            {
                builder.CreateMap <Foo, Bar>()
                .MapProperty(x => x.Property1, x => x.Property3);

                builder.CreateMap <FooO, BarO>()
                .MapProperty(x => x.Property1, x => x.Property1)
                .MapObject(x => x.Foo, x => x.Bar);
            });

            var bar = mapper.Map <BarO>(foo);

            Assert.AreEqual(foo.Property1, bar.Property1);
            Assert.AreEqual(foo.Foo.Property1, bar.Bar.Property3);
        }