示例#1
0
        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);
        }
示例#2
0
        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]);
        }