Exemple #1
0
        /// <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);
        }