public void PracticeRoutineEditViewModel_Initialized_With_No_TimeSlot_Throws_Exception() { var dialogService = new Mock <IDialogViewService>(); var viewModel = new PracticeRoutineEditViewModel(dialogService.Object); TestDelegate proc = () => viewModel.StartEdit(null); Assert.That(proc, Throws.TypeOf <ArgumentNullException>()); }
public void PracticeRoutineEditViewModel_Title_Is_Populated_When_Initialized() { var dialogService = new Mock <IDialogViewService>(); var viewModel = new PracticeRoutineEditViewModel(dialogService.Object); viewModel.StartEdit(EntityFactory.GetBasicPracticeRoutine()); Assert.AreEqual("Practice Routine", viewModel.Title); }
public void PracticeRoutineEditViewModel_Title_Set_Populates_PracticeRoutine() { var dialogService = new Mock <IDialogViewService>(); var practiceRoutine = EntityFactory.GetBasicPracticeRoutine(); var viewModel = new PracticeRoutineEditViewModel(dialogService.Object); viewModel.StartEdit(practiceRoutine); viewModel.Title = "Modified Practice Routine"; Assert.AreEqual("Modified Practice Routine", practiceRoutine.Title); }
public void PracticeRoutineEditViewModel_TimeSlots_Are_Populated_When_Initialized() { var dialogService = new Mock <IDialogViewService>(); var practiceRoutine = EntityFactory.GetBasicPracticeRoutine(); var viewModel = new PracticeRoutineEditViewModel(dialogService.Object); viewModel.StartEdit(practiceRoutine); Assert.AreEqual(1, viewModel.TimeSlots.Count); Assert.That(viewModel.TimeSlots[0], Is.TypeOf <TimeSlotViewModel>()); }
public void PracticeRoutineViewModel_StartEdit__Populates_PracticeRoutineTree() { var dialogService = new Mock <IDialogViewService>(); var practiceRoutine = EntityFactory.GetBasicPracticeRoutine(); var viewModel = new PracticeRoutineEditViewModel(dialogService.Object); viewModel.StartEdit(practiceRoutine); Assert.AreEqual("Practice Routine", viewModel.Title); Assert.AreEqual(1, viewModel.TimeSlots.Count); Assert.AreEqual(3, viewModel.TimeSlots[0].Exercises.Count); }
public void PracticeRoutineViewModel_Assign_All_Fields_To_View_Ok() { var dialogService = new Mock <IDialogViewService>(); var practiceRoutine = EntityFactory.GetEmptyPracticeRoutine(); var viewModel = new PracticeRoutineEditViewModel(dialogService.Object); viewModel.StartEdit(practiceRoutine); Assert.AreEqual(EntityLifeCycleState.AsExistingEntity, viewModel.LifeCycleState); Assert.AreEqual(1, viewModel.Id); Assert.AreEqual("Existing Empty Practice Routine", viewModel.Title); }
public void PracticeRoutineViewModel_Assigned_A_PracticeRoutine_In_Constructor_Is_Not_Dirty() { var dialogService = new Mock <IDialogViewService>(); var practiceRoutine = EntityFactory.CreateEmptyPracticeRoutine("New Practice Routine"); practiceRoutine.Title = "My Test PracticeRoutine"; var viewModel = new PracticeRoutineEditViewModel(dialogService.Object); viewModel.StartEdit(practiceRoutine); Assert.That(viewModel.IsDirty, Is.False); }
public void PracticeRoutineViewModel_Change_Title_Is_Now_Dirty() { var dialogService = new Mock <IDialogViewService>(); var practiceRoutine = EntityFactory.GetEmptyPracticeRoutine(); var viewModel = new PracticeRoutineEditViewModel(dialogService.Object); viewModel.StartEdit(practiceRoutine); viewModel.Title = "Title has Changed"; Assert.That(viewModel.IsDirty, Is.True); }
public void PracticeRoutineEditViewModel_When_TimeSlot_AssignedSeconds_Changes_Reflected_In_TotalTimeDisplay() { var dialogService = new Mock <IDialogViewService>(); var practiceRoutine = EntityFactory.GetBasicPracticeRoutine(); var viewModel = new PracticeRoutineEditViewModel(dialogService.Object); viewModel.StartEdit(practiceRoutine); var totalTimeBefore = viewModel.TotalTimeDisplay; var firstTimeSlot = viewModel.TimeSlots[0].AssignedSeconds = 600; var totalTimeAfter = viewModel.TotalTimeDisplay; Assert.AreEqual("00:05:00", totalTimeBefore); Assert.AreEqual("00:10:00", totalTimeAfter); }
public void PracticeRoutineViewModel_Commits_All_Fields_Back_To_Domain_Object() { var dialogService = new Mock <IDialogViewService>(); var practiceRoutine = EntityFactory.GetEmptyPracticeRoutine(); var viewModel = new PracticeRoutineEditViewModel(dialogService.Object); viewModel.StartEdit(practiceRoutine); viewModel.Title = "Changed Title"; viewModel.Commit(); Assert.AreEqual(1, practiceRoutine.Id); Assert.AreEqual("Changed Title", practiceRoutine.Title); }
public void PracticeRoutineEditViewModel_Edit_TimeSlotViewModel_Raises_ItemChanged() { var listChanged = false; var dialogService = new Mock <IDialogViewService>(); var practiceRoutine = EntityFactory.GetBasicPracticeRoutine(); var viewModel = new PracticeRoutineEditViewModel(dialogService.Object); viewModel.StartEdit(practiceRoutine); TimeSlotViewModel anyTimeSlot = viewModel.TimeSlots[0]; viewModel.TimeSlots.ListChanged += (s, e) => listChanged = true; anyTimeSlot.Title = "Some Arbitrary New Title"; Assert.IsTrue(listChanged); }
public void PracticeRoutineEditViewModel_Add_TimeSlotViewModel_Raises_ItemChanged() { var listChanged = false; var dialogService = new Mock <IDialogViewService>(); dialogService.Setup(ds => ds.YesNoPrompt(It.IsAny <string>(), It.IsAny <string>())).Returns(true); var practiceRoutine = EntityFactory.GetBasicPracticeRoutine(); var viewModel = new PracticeRoutineEditViewModel(dialogService.Object); viewModel.StartEdit(practiceRoutine); viewModel.TimeSlots.ListChanged += (s, e) => listChanged = true; viewModel.AddTimeSlotCommand.Execute(null); Assert.IsTrue(listChanged); }
public void PracticeRoutineEditViewModel_Title_Set_Fires_PropertyChanged() { var fired = false; var dialogService = new Mock <IDialogViewService>(); var practiceRoutine = EntityFactory.GetBasicPracticeRoutine(); var viewModel = new PracticeRoutineEditViewModel(dialogService.Object); viewModel.StartEdit(practiceRoutine); viewModel.PropertyChanged += (s, e) => { if (e.PropertyName == "Title") { fired = true; } }; viewModel.Title = "Modified Practice Routine"; Assert.IsTrue(fired); }
public void PracticeRoutineEditViewModel_Remove_TimeSlot_Removes_TimeSlot() { var dialogService = new Mock <IDialogViewService>(); dialogService.Setup(ds => ds.YesNoPrompt(It.IsAny <string>(), It.IsAny <string>())).Returns(true); var practiceRoutine = EntityFactory.GetBasicPracticeRoutine(); var viewModel = new PracticeRoutineEditViewModel(dialogService.Object); viewModel.StartEdit(practiceRoutine); TimeSlotViewModel firstTimeSlot = viewModel.TimeSlots[0]; viewModel.SelectedItem = firstTimeSlot; var beforeCount = viewModel.TimeSlots.Count; viewModel.DeleteCommand.Execute(null); var afterCount = viewModel.TimeSlots.Count; Assert.AreEqual(beforeCount - 1, afterCount); }
public PracticeRoutineCompositeViewModel( IPracticeRoutineService practiceRoutineService, PracticeRoutineManagementViewModel practiceRoutineManagementViewModel, RoutineRecorderViewModel practiceRoutineRecordingListViewModel, PracticeRoutineEditViewModel practiceRoutineEditViewModel, ExerciseSelectionViewModel exerciseSelectionViewModel) { this.practiceRoutineService = practiceRoutineService; this.practiceRoutineManagementViewModel = practiceRoutineManagementViewModel; this.practiceRoutineEditViewModel = practiceRoutineEditViewModel; this.practiceRoutineRecordingListViewModel = practiceRoutineRecordingListViewModel; this.exerciseSelectionViewModel = exerciseSelectionViewModel; Messenger.Default.Register <ExitPracticeListMessage>(this, (m) => ExitPracticeList()); Messenger.Default.Register <ViewPracticeListMessage>(this, (m) => ViewPracticeList(m.PracticeRoutineId)); Messenger.Default.Register <ExerciseSelectionCancelledMessage>(this, (m) => ExerciseSelectionCancelled()); Messenger.Default.Register <ExerciseSelectedMessage>(this, (m) => ExerciseSelected(m.ExerciseId)); Messenger.Default.Register <StartSelectingPracticeRoutineExerciseMessage>(this, (m) => StartSelectingPracticeRoutine()); Messenger.Default.Register <StartEditingPracticeRoutineMessage>(this, (m) => StartEditingPracticeRoutine(m.PracticeRoutine)); Messenger.Default.Register <EndEditingPracticeRoutineMessage>(this, (m) => EndEditingPracticeRoutine(m.PracticeRoutine, m.Operation, m.LifeCycleState)); NavigationCommand = new RelayCommand <string>(NavigateTo); NavigateTo("Search"); }
public void PracticeRoutineEditViewModel_Change_AssignedSeconds_Raises_PracticeRoutineTree_PropertyRaised_Event() { var fired = false; var dialogService = new Mock <IDialogViewService>(); var practiceRoutine = EntityFactory.GetBasicPracticeRoutine(); var viewModel = new PracticeRoutineEditViewModel(dialogService.Object); viewModel.StartEdit(practiceRoutine); viewModel.PropertyChanged += (s, e) => { if (e.PropertyName == "TotalTimeDisplay") { fired = true; } }; viewModel.TimeSlots[0].AssignedSeconds = 600; Assert.IsTrue(fired); }