Esempio n. 1
0
        public void RecorderViewModel_OverallPracticeTime_Reflects_Model_Dynamically()
        {
            var exerciseService  = new Mock <IExerciseService>();
            var exerciseRecorder = EntityFactory.CreateTimeProgressExerciseRecorder(300, 1200);
            var viewModel        = new ExerciseRecorderViewModel(exerciseService.Object, exerciseRecorder);

            exerciseRecorder.AddSeconds(300);

            Assert.AreEqual(TimeFuncs.DisplayTimeFromSeconds(600), viewModel.TotalRecordedDisplayTime);
        }
Esempio n. 2
0
        public void RecorderViewModel_OverallProgress_Reflects_Model_Dynamically()
        {
            var exerciseService  = new Mock <IExerciseService>();
            var exerciseRecorder = EntityFactory.CreateSpeedProgressExerciseRecorder(30, 30, 90);
            var viewModel        = new ExerciseRecorderViewModel(exerciseService.Object, exerciseRecorder);

            exerciseRecorder.IncrementSpeed(30);

            Assert.AreEqual(50, viewModel.OverallProgress);
        }
Esempio n. 3
0
        public void RecorderViewModel_IncrementSpeed_Large_Reflects_On_Model()
        {
            var exerciseService  = new Mock <IExerciseService>();
            var exerciseRecorder = EntityFactory.CreateSpeedProgressExerciseRecorder(60, 100, 160);

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

            viewModel.LargeSpeedIncrementCommand.Execute(null);

            Assert.AreEqual(110, exerciseRecorder.CurrentSpeed);
        }
Esempio n. 4
0
        public void RecorderViewModel_Initialized_With_Reflects_On_Model()
        {
            var exerciseService  = new Mock <IExerciseService>();
            var exerciseRecorder = EntityFactory.CreateTimeProgressExerciseRecorder(300, 1200);

            exerciseRecorder.AddMinutes(10);

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

            Assert.AreEqual(600, exerciseRecorder.RecordedSeconds);
            Assert.AreEqual(900, exerciseRecorder.CurrentTotalSeconds);
        }
Esempio n. 5
0
        public void RecorderViewModel_DecrementSpeed_Small_Below_Zero_Is_Zero()
        {
            var exerciseService  = new Mock <IExerciseService>();
            var exerciseRecorder = EntityFactory.CreateSpeedProgressExerciseRecorder(0, 0, 160);

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

            viewModel.SmallSpeedDecrementCommand.Execute(null);

            Assert.AreEqual(0, exerciseRecorder.CurrentSpeed);
            Assert.AreEqual(TimeFuncs.ZeroTimeDisplay, viewModel.RecordingTimeDisplay);
        }
Esempio n. 6
0
        public void RecorderViewModel_Initialized_RecordingStatus_Is_Not_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);

            Assert.That(viewModel.Status, Is.EqualTo(""));
        }
Esempio n. 7
0
        public void RecorderViewModel_TimeProgressPercentageAllocation_Displayed_Correctly()
        {
            var exerciseService  = new Mock <IExerciseService>();
            var exerciseRecorder = new ExerciseRecorder(new Recorder(), 1, "Exercise Title",
                                                        new SpeedProgress(85, 85, 120, 500),
                                                        new PracticeTimeProgress(300, 600, 500),
                                                        new ManualProgress(0, 1000));

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

            Assert.That(viewModel.TimeProgressPercentageAllocation, Is.EqualTo("25%"));
        }
Esempio n. 8
0
        public void RecorderViewModel_IncrementMinutes_Reflects_On_Model()
        {
            var exerciseService  = new Mock <IExerciseService>();
            var exerciseRecorder = EntityFactory.CreateTimeProgressExerciseRecorder(300, 600);

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

            viewModel.IncrementMinutesPracticedCommand.Execute(null);

            Assert.AreEqual(60, exerciseRecorder.RecordedSeconds);
            Assert.AreEqual(360, exerciseRecorder.CurrentTotalSeconds);
        }
Esempio n. 9
0
        public void RecorderViewModel_ManualProgress_Set_Reflects_On_Model()
        {
            var exerciseService  = new Mock <IExerciseService>();
            var exerciseRecorder = EntityFactory.CreateManualProgressExerciseRecorder(40);

            exerciseRecorder.IncrementManualProgress(10);

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

            viewModel.ManualProgress = 10;

            Assert.AreEqual(10, exerciseRecorder.CurrentManualProgress);
        }
Esempio n. 10
0
        public void RecorderViewModel_ManualProgress_Decrement_Small_Reflects_On_Model()
        {
            var exerciseService  = new Mock <IExerciseService>();
            var exerciseRecorder = EntityFactory.CreateManualProgressExerciseRecorder(40);

            exerciseRecorder.IncrementManualProgress(10);

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

            viewModel.DecrementManualProgressCommand.Execute(null);

            Assert.AreEqual(49, exerciseRecorder.CurrentManualProgress);
        }
Esempio n. 11
0
        public void RecorderViewModel_Increment_RecordedTime_By_Seconds_Reflects_On_Model()
        {
            var exerciseService  = new Mock <IExerciseService>();
            var exerciseRecorder = EntityFactory.CreateTimeProgressExerciseRecorder(10, 1200);

            exerciseRecorder.AddSeconds(10); // 20

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

            viewModel.IncrementSecondsPracticedCommand.Execute(null);

            Assert.AreEqual(11, exerciseRecorder.RecordedSeconds);
            Assert.AreEqual(21, exerciseRecorder.CurrentTotalSeconds);
        }
Esempio n. 12
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..."));
        }
Esempio n. 13
0
        public void RecorderViewModel_Initial_State_Is_Correct()
        {
            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);

            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);
        }
Esempio n. 14
0
        public void RecorderViewModel_IncrementTime_Small_Raises_PropertyChanged_For_OverallProgress()
        {
            var changed = false;

            var exerciseService  = new Mock <IExerciseService>();
            var exerciseRecorder = EntityFactory.CreateSpeedProgressExerciseRecorder(60, 100, 160);
            var viewModel        = new ExerciseRecorderViewModel(exerciseService.Object, exerciseRecorder);

            viewModel.PropertyChanged += (s, e) =>
            {
                if (e.PropertyName == "OverallProgress")
                {
                    changed = true;
                }
            };

            viewModel.IncrementSecondsPracticedCommand.Execute(null);

            Assert.IsTrue(changed);
        }
Esempio n. 15
0
        public void RecorderViewModel_DecrementTime_Large_Raises_PropertyChanged_For_RecordingTimeDisplay()
        {
            var changed = false;

            var exerciseService  = new Mock <IExerciseService>();
            var exerciseRecorder = EntityFactory.CreateSpeedProgressExerciseRecorder(60, 100, 160);
            var viewModel        = new ExerciseRecorderViewModel(exerciseService.Object, exerciseRecorder);

            viewModel.PropertyChanged += (s, e) =>
            {
                if (e.PropertyName == "RecordingTimeDisplay")
                {
                    changed = true;
                }
            };

            viewModel.DecrementMinutesPracticedCommand.Execute(null);

            Assert.IsTrue(changed);
        }
Esempio n. 16
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);
        }
Esempio n. 17
0
 public void Release(ExerciseRecorderViewModel recorderViewModel)
 {
     this.componentFactory.Release(recorderViewModel);
 }