public static OneUpdateViewModel Initialize(this OneUpdateViewModel model, Update update, ITagTranslator tagTranslator, ITimestampFormatter timestampFormatter) { model.Title = update.Anime.Title; model.TitleKey = update.Anime.Key; model.Tag = tagTranslator.ToTag(update.Tag); model.TagInfo = update.Tag; model.Timestamp = timestampFormatter.Format(update.Timestamp); model.ImageSrc = update.Anime.ImageSrc; model.Info = new List <DataListInformationViewModel>().Initialize(update.Infomation); return(model); }
public void Transform_DataListInfo_In_ViewModel() { var tagTranslatorMock = new Mock <ITagTranslator>(); tagTranslatorMock.Setup(m => m.ToTag(It.IsAny <string>())).Returns <string>(s => Tag.Ongoing); var timestampFormatterMock = new Mock <ITimestampFormatter>(); timestampFormatterMock.Setup(m => m.Format(It.IsAny <DateTime>())).Returns <DateTime>(dt => string.Empty); var update = new Update { Anime = new Anime(), Infomation = new List <DataListInfomation> { new DataListInfomation { Name = "Тип", Value = "OVA" }, new DataListInfomation { Name = "Тип", Value = "Сериал" }, new DataListInfomation { Name = "Эпизодов", Value = "12" } } }; var result = new OneUpdateViewModel().Initialize(update, tagTranslatorMock.Object, timestampFormatterMock.Object); Assert.Equal(2, result.Info.Count); Assert.Equal(2, result.Info[0].Values.Count); Assert.Equal("Тип", result.Info[0].Key); Assert.Equal("OVA", result.Info[0].Values[0]); Assert.Equal("Сериал", result.Info[0].Values[1]); Assert.Single(result.Info[1].Values); Assert.Equal("Эпизодов", result.Info[1].Key); Assert.Equal("12", result.Info[1].Values[0]); }