/// <summary> /// setup code /// </summary> private void before_each() { _tasks = new List<TaskItem>(); _taskRepository = Substitute.For<ITaskRepository>(); _collectionSource = Substitute.For<ICollectionViewSourceFactory>(); var wrappedCollectionViewSource = new WrappedCollectionViewSource<TaskItem>(); _collectionSource.CreateTaskListViewSource().Returns(wrappedCollectionViewSource); _taskListViewModel = null; }
/// <summary> /// Constructor /// </summary> /// <param name="taskRepository">persistence layer of task repo</param> /// <param name="factory"></param> public TaskListViewModel(ITaskRepository taskRepository, ICollectionViewSourceFactory factory) { _taskRepository = taskRepository; //default task is empty NewTaskDescription = string.Empty; _activeTaskListState = TaskListState.All; VisibleTasks = factory.CreateTaskListViewSource(); _currentActiveFilter = AllFilter; //relay commands AddNewTask = new RelayCommand(CreateNewTask); DeleteTask = new RelayCommand<TaskItemViewModel>(deleteTask); ToggleStateOfTask = new RelayCommand<TaskItemViewModel>(toggleCopleteTask); DeleteCompleted = new RelayCommand(DeleteCompletedTask, () => ClearCompletedTasksEnabled); FetchTasks(); }