Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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(""));
        }
Exemplo n.º 3
0
        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..."));
        }
Exemplo n.º 4
0
        public void TimeSlotTimer_RemainingTime_Negative_Returns_0()
        {
            int recordedTime = 601;
            int assignedTime = 600;

            var recorder             = new TestRecorder(recordedTime);
            var manualProgress       = new ManualProgress(0, 50);
            var speedProgress        = new SpeedProgress(0, 0, 120, 50);
            var practiceTimeProgress = new PracticeTimeProgress(0, 600, 50);

            var exerciseRecorder = new TimeSlotExerciseRecorder(recorder, 1, "Exercise Title", speedProgress, practiceTimeProgress, manualProgress, assignedTime);

            Assert.That(exerciseRecorder.RemainingSeconds, Is.EqualTo(0));
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
        }