public void TimeSlotRecorderViewModel_AddSeconds_Raises_PropertyChanged_For_AssignedTimeDisplay() { var changed = false; int recordedSeconds = 300; int assignedTime = 600; var exerciseRecorder = new TimeSlotExerciseRecorder(new TestRecorder(recordedSeconds), 1, "Exercise Title", new SpeedProgress(85, 85, 120, 10), new PracticeTimeProgress(300, 600, 10), new ManualProgress(0, 100), assignedTime); var exerciseService = new Mock <IExerciseService>(); var viewModel = new TimeSlotRecorderViewModel(exerciseService.Object, exerciseRecorder); viewModel.PropertyChanged += (s, e) => { if (e.PropertyName == "AssignedTimeDisplay") { changed = true; } }; exerciseRecorder.AddSeconds(200); Assert.IsTrue(changed); }
public void TimeSlotRecorderViewModel_OverallPracticeTime_Reflects_Model_Dynamically() { var exerciseRecorder = EntityFactory.CreateTimeProgressTimeSlotExerciseRecorder(300, 1200, 600); var exerciseService = new Mock <IExerciseService>(); var viewModel = new TimeSlotRecorderViewModel(exerciseService.Object, exerciseRecorder); exerciseRecorder.AddSeconds(300); Assert.AreEqual(TimeFuncs.DisplayTimeFromSeconds(600), viewModel.TotalRecordedDisplayTime); }
public void TimeSlotRecorderViewModel_OverallProgress_Reflects_Model_Dynamically() { var exerciseRecorder = EntityFactory.CreateSpeedProgressTimeSlotExerciseRecorder(30, 30, 90, 600); var exerciseService = new Mock <IExerciseService>(); var viewModel = new TimeSlotRecorderViewModel(exerciseService.Object, exerciseRecorder); exerciseRecorder.IncrementSpeed(30); Assert.AreEqual(50, viewModel.OverallProgress); }
public void TimeSlotRecorderViewModel_IncrementSpeed_Large_Reflects_On_Model() { var exerciseRecorder = EntityFactory.CreateSpeedProgressTimeSlotExerciseRecorder(60, 100, 160, 600); var exerciseService = new Mock <IExerciseService>(); var viewModel = new TimeSlotRecorderViewModel(exerciseService.Object, exerciseRecorder); viewModel.LargeSpeedIncrementCommand.Execute(null); Assert.AreEqual(110, exerciseRecorder.CurrentSpeed); }
public void TimeSlotRecorderViewModel_Initialized_RecordingStatus_Is_Not_Recording() { var exerciseRecorder = new TimeSlotExerciseRecorder(new Recorder(), 1, "Exercise Title", new SpeedProgress(85, 85, 120, 10), new PracticeTimeProgress(300, 600, 10), new ManualProgress(0, 100), 600); var exerciseService = new Mock <IExerciseService>(); var viewModel = new TimeSlotRecorderViewModel(exerciseService.Object, exerciseRecorder); Assert.That(viewModel.Status, Is.EqualTo("")); }
public void TimeSlotRecorderViewModel_Initialized_With_Reflects_On_Model() { var exerciseRecorder = EntityFactory.CreateTimeProgressTimeSlotExerciseRecorder(300, 1200, 600); exerciseRecorder.AddMinutes(10); var exerciseService = new Mock <IExerciseService>(); var viewModel = new TimeSlotRecorderViewModel(exerciseService.Object, exerciseRecorder); Assert.AreEqual(600, exerciseRecorder.RecordedSeconds); Assert.AreEqual(900, exerciseRecorder.CurrentTotalSeconds); }
public void TimeSlotRecorderViewModel_DecrementSpeed_Small_Below_Zero_Is_Zero() { var exerciseRecorder = EntityFactory.CreateSpeedProgressTimeSlotExerciseRecorder(0, 0, 160, 600); var exerciseService = new Mock <IExerciseService>(); var viewModel = new TimeSlotRecorderViewModel(exerciseService.Object, exerciseRecorder); viewModel.SmallSpeedDecrementCommand.Execute(null); Assert.AreEqual(0, exerciseRecorder.CurrentSpeed); Assert.AreEqual(TimeFuncs.ZeroTimeDisplay, viewModel.RecordingTimeDisplay); }
public void TimeSlotRecorderViewModel_IncrementMinutes_Reflects_On_Model() { var exerciseRecorder = EntityFactory.CreateTimeProgressTimeSlotExerciseRecorder(300, 600, 600); var exerciseService = new Mock <IExerciseService>(); var viewModel = new TimeSlotRecorderViewModel(exerciseService.Object, exerciseRecorder); viewModel.IncrementMinutesPracticedCommand.Execute(null); Assert.AreEqual(60, exerciseRecorder.RecordedSeconds); Assert.AreEqual(360, exerciseRecorder.CurrentTotalSeconds); }
public void TimeSlotRecorderViewModel_ManualProgress_Set_Reflects_On_Model() { var exerciseRecorder = EntityFactory.CreateManualProgressTimeSlotExerciseRecorder(40, 600); exerciseRecorder.IncrementManualProgress(10); var exerciseService = new Mock <IExerciseService>(); var viewModel = new TimeSlotRecorderViewModel(exerciseService.Object, exerciseRecorder); viewModel.ManualProgress = 10; Assert.AreEqual(10, exerciseRecorder.CurrentManualProgress); }
public void TimeSlotRecorderViewModel_ManualProgress_Decrement_Small_Reflects_On_Model() { var exerciseRecorder = EntityFactory.CreateManualProgressTimeSlotExerciseRecorder(40, 600); exerciseRecorder.IncrementManualProgress(10); var exerciseService = new Mock <IExerciseService>(); var viewModel = new TimeSlotRecorderViewModel(exerciseService.Object, exerciseRecorder); viewModel.DecrementManualProgressCommand.Execute(null); Assert.AreEqual(49, exerciseRecorder.CurrentManualProgress); }
public void TimeSlotRecorderViewModel_Increment_RecordedTime_By_Seconds_Reflects_On_Model() { var exerciseRecorder = EntityFactory.CreateTimeProgressTimeSlotExerciseRecorder(10, 1200, 600); exerciseRecorder.AddSeconds(10); // 20 var exerciseService = new Mock <IExerciseService>(); var viewModel = new TimeSlotRecorderViewModel(exerciseService.Object, exerciseRecorder); viewModel.IncrementSecondsPracticedCommand.Execute(null); Assert.AreEqual(11, exerciseRecorder.RecordedSeconds); Assert.AreEqual(21, exerciseRecorder.CurrentTotalSeconds); }
public void TimeSlotRecorderViewModel_RecordingStatus_Gets_Value_From_TimeSlotExerciseRecorder() { var exerciseRecorder = new TimeSlotExerciseRecorder(new Recorder(), 1, "Exercise Title", new SpeedProgress(85, 85, 120, 10), new PracticeTimeProgress(300, 600, 10), new ManualProgress(0, 100), 600); var exerciseService = new Mock <IExerciseService>(); var viewModel = new TimeSlotRecorderViewModel(exerciseService.Object, exerciseRecorder); exerciseRecorder.Resume(); Assert.That(viewModel.Status, Is.EqualTo("RECORDING...")); }
public void TimeSlotRecorderViewModel_Initial_State_Is_Correct() { var exerciseRecorder = new TimeSlotExerciseRecorder(new Recorder(), 1, "Exercise Title", new SpeedProgress(85, 85, 120, 10), new PracticeTimeProgress(300, 600, 10), new ManualProgress(0, 100), 600); var exerciseService = new Mock <IExerciseService>(); var viewModel = new TimeSlotRecorderViewModel(exerciseService.Object, exerciseRecorder); Assert.AreEqual(TimeFuncs.ZeroTimeDisplay, viewModel.RecordingTimeDisplay); Assert.AreEqual(false, viewModel.Recording); Assert.AreEqual(0, viewModel.Seconds); Assert.AreEqual("", viewModel.Status); Assert.AreEqual("Exercise Title", viewModel.Title); }
public void TimeSlotRecorderViewModel_Initial_State_Has_Initial_and_Remaining() { int recordedSeconds = 300; int assignedTime = 600; var exerciseRecorder = new TimeSlotExerciseRecorder(new TestRecorder(recordedSeconds), 1, "Exercise Title", new SpeedProgress(85, 85, 120, 10), new PracticeTimeProgress(300, 600, 10), new ManualProgress(0, 100), assignedTime); var exerciseService = new Mock <IExerciseService>(); var viewModel = new TimeSlotRecorderViewModel(exerciseService.Object, exerciseRecorder); Assert.AreEqual(600, viewModel.AssignedSeconds); Assert.AreEqual(300, viewModel.RemainingSeconds); Assert.AreEqual("00:10:00", viewModel.AssignedTimeDisplay); Assert.AreEqual("00:05:00", viewModel.RemainingTimeDisplay); }
public void TimeSlotRecorderViewModel_DecrementTime_Large_Raises_PropertyChanged_For_RecordingTimeDisplay() { var changed = false; var exerciseRecorder = EntityFactory.CreateSpeedProgressTimeSlotExerciseRecorder(60, 100, 160, 600); var exerciseService = new Mock <IExerciseService>(); var viewModel = new TimeSlotRecorderViewModel(exerciseService.Object, exerciseRecorder); viewModel.PropertyChanged += (s, e) => { if (e.PropertyName == "RecordingTimeDisplay") { changed = true; } }; viewModel.DecrementMinutesPracticedCommand.Execute(null); Assert.IsTrue(changed); }
public void TimeSlotRecorderViewModel_IncrementTime_Small_Raises_PropertyChanged_For_OverallProgress() { var changed = false; var exerciseRecorder = EntityFactory.CreateSpeedProgressTimeSlotExerciseRecorder(60, 100, 160, 600); var exerciseService = new Mock <IExerciseService>(); var viewModel = new TimeSlotRecorderViewModel(exerciseService.Object, exerciseRecorder); viewModel.PropertyChanged += (s, e) => { if (e.PropertyName == "OverallProgress") { changed = true; } }; viewModel.IncrementSecondsPracticedCommand.Execute(null); Assert.IsTrue(changed); }
public void TimeSlotRecorderViewModel_Recording_Reflects_Model_Recording() { var exerciseRecorder = new TimeSlotExerciseRecorder(new Recorder(), 1, "Exercise Title", new SpeedProgress(85, 85, 120, 10), new PracticeTimeProgress(300, 600, 10), new ManualProgress(0, 100), 600); var exerciseService = new Mock <IExerciseService>(); var viewModel = new TimeSlotRecorderViewModel(exerciseService.Object, exerciseRecorder); exerciseRecorder.Resume(); var recording = exerciseRecorder.Recording && viewModel.Recording; exerciseRecorder.Pause(); var paused = !exerciseRecorder.Recording && !viewModel.Recording; exerciseRecorder.Resume(); exerciseRecorder.Reset(); var reset = !exerciseRecorder.Recording && !viewModel.Recording; Assert.IsTrue(recording); Assert.IsTrue(paused); Assert.IsTrue(reset); }