/// <summary> /// The get or create. /// </summary> /// <param name="dateInfo"> /// The date info. /// </param> /// <returns> /// The <see cref="DateVm"/>. /// </returns> public DateVm GetOrCreate(DateInfoModel dateInfo) { DateVm result = this.dateVmCollection.FirstOrDefault(dateVm => dateVm.IsDateEqual(dateInfo)); if (this.dateVmCollection.Count > CacheSize) { this.dateVmCollection.RemoveRange(0, this.dateVmCollection.Count - CacheSize); } if (result != null) { return(result); } switch (dateInfo.DateType) { case DateRepresentationType.Year: { result = new YearVm(dateInfo, this, this.taskMediator); break; } case DateRepresentationType.Month: { result = new MonthVm(dateInfo, this, this.taskMediator); break; } case DateRepresentationType.Week: { result = new WeekVm(dateInfo, this, this.taskMediator); break; } case DateRepresentationType.Day: { result = new DayVm(dateInfo, this, this.taskMediator); break; } case DateRepresentationType.Hour: { result = new HourVm(dateInfo, this, this.taskMediator); break; } default: { return(null); } } this.dateVmCollection.Add(result); return(result); }
public void DayProperty() { using AutoMock mock = AutoMock.GetLoose(); TodoDay day = new TodoDay() { Day = DateTime.Now }; DayVm vm = mock.Create <DayVm>(TypedParameter.From(day)); Assert.Same(day, vm.Day); }
public void NewTaskCmdCanExecute(int daysFromToday, bool expected) { using AutoMock mock = AutoMock.GetLoose(); TodoDay day = new TodoDay() { Day = DateTime.Now.AddDays(daysFromToday) }; DayVm vm = mock.Create <DayVm>(TypedParameter.From(day)); bool result = vm.NewTaskCmd.CanExecute(null); Assert.Equal(expected, result); }
public void LoadAction() { using AutoMock mock = AutoMock.GetLoose(); IEnumerable <TodoItem> items = Enumerable.Repeat(new TodoItem(), 5); mock.Mock <IItemsRepository>() .Setup(x => x.GetOrderedItems(It.IsAny <Expression <Func <TodoItem, bool> > >())) .Returns(Task.FromResult(items)); DayVm vm = mock.Create <DayVm>(); vm.LoadedCbCmd.Execute(null); Assert.Same(items, vm.Items); }
public void NewTaskCmdExecute() { using AutoMock mock = AutoMock.GetStrict(x => { x.RegisterType <MainVm>() .As <IMainVm>() .SingleInstance(); }); mock.Mock <IItemsRepository>() .Setup(x => x.Add(It.IsAny <TodoItem>())) .Returns(Task.FromResult <object>(null)); TodoDay day = new TodoDay() { Day = DateTime.Now }; DayVm vm = mock.Create <DayVm>(TypedParameter.From(day)); vm.NewTaskCmd.Execute(null); IMainVm main = mock.Create <IMainVm>(); Assert.IsAssignableFrom <IItemVm>(main.CurrentVm); }