public void Transform_NoTransformersInChain_AndDestinationAutoCreationDisabled_ReturnNull()
        {
            var source = new Foo {
                SourceProperty = "source"
            };
            var builder = Transformation.For <Foo, Bar>();

            builder.Configuration.AutoCreateDestination = false;
            var transformator = new MySingleResultTransformator(builder);

            var result = transformator.Transform(source);

            Assert.IsNull(result);
        }
        public void Transform_SingleResultTransformersInChain_ReturnSingleLastResult()
        {
            var source = new Foo {
                SourceProperty = "source"
            };
            var dest1   = new Bar();
            var dest2   = new Bar();
            var builder = Transformation.For <Foo, Bar>()
                          .Apply(new SingleTestTransformer(dest1))
                          .Apply(new SingleTestTransformer(dest2));
            var transformator = new MySingleResultTransformator(builder);

            var result = transformator.Transform(source);

            Assert.AreEqual(dest2, result);
        }
        public void Transform_TransformerReturnNull_ReturnNull()
        {
            var source = new Foo {
                SourceProperty = "source"
            };
            var dest2   = new Bar();
            var builder = Transformation.For <Foo, Bar>()
                          .Apply(new SingleTestTransformer()
            {
                ReturnNullDestination = true
            })
                          .Apply(new SingleTestTransformer(dest2));
            var transformator = new MySingleResultTransformator(builder);

            var result = transformator.Transform(source);

            Assert.IsNull(result);
        }