Возникла проблема с отображением одного из свойств при использовании AutoMapper. Свойство установлено на ноль - PullRequest
0 голосов
/ 30 октября 2019
[TestClass]
public class AutoMapperUnitTest
{
    [TestMethod]
    public void CalendarToCalendarDataTest()
    {
        var source = new Data.Calendar()
        {
            CountryCode = "CZ",
            Date = DateTime.Now.Date,
            Id = 1,
            IsSettlementDate = true,
            IsTradingDate = false,
            MarketReportingIdentification = "XPRA",
            Mic = "XPRA"
        };

        var config = new MapperConfiguration(cfg =>
        {
            cfg.CreateMap<Data.Calendar, Data.Model.CalendarDate > ()
                .ForMember(d => d.Date, s => s.MapFrom(x => x.Date))
                .ForMember(d => d.IsSettlementDate, s => s.MapFrom(x => x.IsSettlementDate))
                .ForMember(d => d.IsTradingDate, s => s.MapFrom(x => x.IsTradingDate))
                .ForMember(d => d.MarketReportingIdentification, s => s.MapFrom(x => x.MarketReportingIdentification))
                .ForMember(d => d.Mic, s => s.MapFrom(x => x.Mic));

        });

        config.AssertConfigurationIsValid();

        var mapper = config.CreateMapper();

        var destination = mapper.Map<Data.Model.CalendarDate>(source);

        Assert.AreEqual(source.CountryCode, destination.CountryCode);
        Assert.AreEqual(source.Date.Date, destination.Date.Date);
        Assert.AreEqual(source.IsSettlementDate, destination.IsSettlementDate);
        Assert.AreEqual(source.IsTradingDate, destination.IsTradingDate);
        Assert.AreEqual(source.MarketReportingIdentification, destination.MarketReportingIdentification);
        Assert.AreEqual(source.Mic, destination.Mic);
    }
}

Результат в первой строке Assert:

Assert.AreEqual(source.CountryCode, destination.CountryCode);
// Throws 
// Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException:
//     'Assert.AreEqual failed. Expected:<CZ>. Actual:<(null)>. 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...