Пример #1
0
        public void RecorderViewModel_RecordingStatus_Gets_Value_From_ExerciseRecorder()
        {
            var exerciseService  = new Mock <IExerciseService>();
            var exerciseRecorder = new ExerciseRecorder(new Recorder(), 1, "Exercise Title",
                                                        new SpeedProgress(85, 85, 120, 10),
                                                        new PracticeTimeProgress(300, 600, 10),
                                                        new ManualProgress(0, 100));

            var viewModel = new ExerciseRecorderViewModel(exerciseService.Object, exerciseRecorder);

            exerciseRecorder.Resume();

            Assert.That(viewModel.Status, Is.EqualTo("RECORDING..."));
        }
Пример #2
0
        public void RecorderViewModel_Recording_Reflects_Model_Recording()
        {
            var exerciseService  = new Mock <IExerciseService>();
            var exerciseRecorder = new ExerciseRecorder(new Recorder(), 1, "Exercise Title",
                                                        new SpeedProgress(85, 85, 120, 10),
                                                        new PracticeTimeProgress(300, 600, 10),
                                                        new ManualProgress(0, 100));

            var viewModel = new ExerciseRecorderViewModel(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);
        }
Пример #3
0
        public void Attempt_Subtract_Minutes_When_Recording_Does_Nothing()
        {
            var recorder             = new TestRecorder(110);
            var speedProgress        = new Mock <ISpeedProgress>();
            var practiceTimeProgress = new Mock <IPracticeTimeProgress>();
            var manualProgress       = new Mock <IManualProgress>();

            using (var exerciseRecorder = new ExerciseRecorder(recorder, 1, "Exercise Title", speedProgress.Object, practiceTimeProgress.Object, manualProgress.Object))
            {
                exerciseRecorder.Resume();
                exerciseRecorder.SubtractMinutes(2);
                exerciseRecorder.Pause();

                Assert.That(exerciseRecorder.RecordedSeconds, Is.InRange(110, 112));
            }
        }
Пример #4
0
        public void RecordingStatusChanged_Event_Fired_On_Pause()
        {
            var called               = false;
            var recorder             = new TestRecorder(110);
            var speedProgress        = new Mock <ISpeedProgress>();
            var practiceTimeProgress = new Mock <IPracticeTimeProgress>();
            var manualProgress       = new Mock <IManualProgress>();

            using (var exerciseRecorder = new ExerciseRecorder(recorder, 1, "Exercise Title", speedProgress.Object, practiceTimeProgress.Object, manualProgress.Object))
            {
                exerciseRecorder.Resume();
                exerciseRecorder.RecordingStatusChanged += (sender, args) => called = true;
                exerciseRecorder.Pause();

                Assert.IsTrue(called);
            }
        }
Пример #5
0
        public void TickActionCallBack_NotCalled_WhenRecording_After_Adding_Minutes()
        {
            bool fired = false;

            void action() => fired = true;

            var recorder             = new TestRecorder(110);
            var speedProgress        = new Mock <ISpeedProgress>();
            var practiceTimeProgress = new Mock <IPracticeTimeProgress>();
            var manualProgress       = new Mock <IManualProgress>();

            using (var exerciseRecorder = new ExerciseRecorder(recorder, 1, "Exercise Title", speedProgress.Object, practiceTimeProgress.Object, manualProgress.Object))
            {
                exerciseRecorder.TickActionCallBack = action;

                exerciseRecorder.Resume();
                exerciseRecorder.AddMinutes(2);
                exerciseRecorder.Pause();

                Assert.IsFalse(fired);
            }
        }