예제 #1
0
        public void When_Mapping_Derived_Instance_As_Base_Then_Maps_Polymorphically_As_Derived()
        {
            // Arrange
            var sut = new Mapper();

            sut.BuildPolymorphicMap<VehicleFrom, VehicleTo>()
               .AddPolymorph<CarFrom, CarTo>();

            sut.BuildClassMap<CarFrom, CarTo>();

            var from = new CarFrom() {Name = "Porsche", NumSeats = 4};

            // Act
            var to = sut.Map<VehicleFrom, VehicleTo>(from);
            var res = to as CarTo;

            // Assert
            Assert.NotNull(res);
            Assert.AreEqual("Porsche", res.Name);
            Assert.AreEqual(from.NumSeats, res.NumSeats);
        }