public void DeepCopyTo_SourceAndDestinationAreDifferentTypeButContainTheSameProperties_DestinationCopied()
        {
            Cow source = new Cow()
            {
                Bool     = true,
                DateTime = new DateTime(2010, 01, 02),
                Decimal  = 10.10M,
                Guid     = new Guid("8DA4C611-A758-4EB7-A352-8D82FE84DBD9"),
                Int      = 123,
                String   = "123"
            };

            //((AutoMapper.IProfileConfiguration)AutoMapper.Extensions.AutoMapperExtensions.config).CreateTypeDetails(typeof(Cow));
            //((AutoMapper.IProfileConfiguration)AutoMapper.Extensions.AutoMapperExtensions.config).CreateTypeDetails(typeof(Mule));

            Mule destination = source.DeepCopyTo <Mule>();

            Assert.AreNotEqual(source, destination);
            Assert.AreEqual(true, destination.Bool);
            Assert.AreEqual(new DateTime(2010, 01, 02), destination.DateTime);
            Assert.AreEqual(10.10M, destination.Decimal);
            Assert.AreEqual(new Guid("8DA4C611-A758-4EB7-A352-8D82FE84DBD9"), destination.Guid);
            Assert.AreEqual(123, destination.Int);
            Assert.AreEqual("123", destination.String);
        }
        public void DeepCopyTo_SourceAndDestinationAreDifferentTypeButContainTheSameProperties_DestinationCopied()
        {
            Cow source = new Cow()
            {
                Bool     = true,
                DateTime = new DateTime(2010, 01, 02),
                Decimal  = 10.10M,
                Guid     = new Guid("8DA4C611-A758-4EB7-A352-8D82FE84DBD9"),
                Int      = 123,
                String   = "123"
            };

            Mule destination = source.ILDeepCopyFromTo <Cow, Mule>();

            Assert.AreNotEqual(source, destination);
            Assert.AreEqual(true, destination.Bool);
            Assert.AreEqual(new DateTime(2010, 01, 02), destination.DateTime);
            Assert.AreEqual(10.10M, destination.Decimal);
            Assert.AreEqual(new Guid("8DA4C611-A758-4EB7-A352-8D82FE84DBD9"), destination.Guid);
            Assert.AreEqual(123, destination.Int);
            Assert.AreEqual("123", destination.String);
        }