public void Base_Configuration_Applies_To_Double_Derived_Class_If_No_Explicit_Configuration()
        {
            TypeAdapterConfig <SimplePoco, SimpleDto> .NewConfig()
            .Map(dest => dest.Name, src => src.Name + "_Suffix");

            var source = new DoubleDerivedPoco()
            {
                Id   = new Guid(),
                Name = "SourceName"
            };

            var dto = TypeAdapter.Adapt <SimpleDto>(source);

            dto.Id.ShouldEqual(source.Id);
            dto.Name.ShouldEqual(source.Name + "_Suffix");
        }
        public void Derived_Class_Stops_At_First_Valid_Base_Configuration()
        {
            TypeAdapterConfig <SimplePoco, SimpleDto> .NewConfig()
            .Map(dest => dest.Name, src => src.Name + "_Suffix");

            TypeAdapterConfig <DerivedPoco, SimpleDto> .NewConfig()
            .Map(dest => dest.Name, src => src.Name + "_Derived");

            var source = new DoubleDerivedPoco
            {
                Id   = new Guid(),
                Name = "SourceName"
            };

            var dto = TypeAdapter.Adapt <SimpleDto>(source);

            dto.Id.ShouldEqual(source.Id);
            dto.Name.ShouldEqual(source.Name + "_Derived");
        }
        public void Derived_Class_Stops_At_First_Valid_Base_Configuration()
        {
            TypeAdapterConfig<SimplePoco, SimpleDto>.NewConfig()
                .Map(dest => dest.Name, src => src.Name + "_Suffix")
                .Compile();

            TypeAdapterConfig<DerivedPoco, SimpleDto>.NewConfig()
                .Map(dest => dest.Name, src => src.Name + "_Derived")
                .Compile();
            TypeAdapterConfig<DoubleDerivedPoco, SimpleDto>.Clear();

            var source = new DoubleDerivedPoco
            {
                Id = new Guid(),
                Name = "SourceName"
            };

            var dto = TypeAdapter.Adapt<SimpleDto>(source);

            dto.Id.ShouldBe(source.Id);
            dto.Name.ShouldBe(source.Name + "_Derived");
        }
        public void Base_Configuration_Applies_To_Double_Derived_Class_If_No_Explicit_Configuration()
        {
            TypeAdapterConfig<SimplePoco, SimpleDto>.NewConfig()
                .Map(dest => dest.Name, src => src.Name + "_Suffix")
                .Compile();

            var source = new DoubleDerivedPoco()
            {
                Id = new Guid(),
                Name = "SourceName"
            };

            var dto = TypeAdapter.Adapt<SimpleDto>(source);

            dto.Id.ShouldBe(source.Id);
            dto.Name.ShouldBe(source.Name + "_Suffix");
        }