public void PracticeRoutineRepository_Find_PracticeRoutine_With_Specific_Title_Gets_Applicable_Recs()
        {
            Funcs.RunScript("delete-all-records.sql", Settings.AppConnectionString);
            Funcs.RunScript("test-data-practiceroutines.sql", Settings.AppConnectionString);

            using (var uow = Funcs.GetUnitOfWork())
            {
                IPracticeRoutineSearchCriteria crit = new PracticeRoutineSearchCriteria();
                crit.Title = "monday";

                var practiceRoutines = uow.PracticeRoutines.Find(crit);
                Assert.That(practiceRoutines.Where(ex => ex.Title == "Monday Routine").SingleOrDefault(), Is.Not.Null);
                Assert.IsInstanceOf <PracticeRoutineHeader>(practiceRoutines.First());
            }
        }
        public void PracticeRoutineRepository_Get_PracticeRoutine_Fetches_TimeSlots()
        {
            Funcs.RunScript("delete-all-records.sql", Settings.AppConnectionString);
            Funcs.RunScript("test-data-practiceroutine-recorder.sql", Settings.AppConnectionString);

            using (var uow = Funcs.GetUnitOfWork())
            {
                IPracticeRoutineSearchCriteria crit = new PracticeRoutineSearchCriteria();
                crit.Title = "monday";

                var practiceRoutineHeader = uow.PracticeRoutines.Find(crit).First();
                var practiceRoutine       = uow.PracticeRoutines.Get(practiceRoutineHeader.Id);

                Assert.IsTrue(practiceRoutine.Count > 0);
                Assert.AreEqual(6, practiceRoutine.Count);
                Assert.AreEqual(4, practiceRoutine[0].Count());
            }
        }
        public void PracticeRoutineRecorder_Fetch_And_Create_Is_Constructed_Successfully()
        {
            Funcs.RunScript("delete-all-records.sql", Settings.AppConnectionString);
            Funcs.RunScript("test-data-practiceroutine-recorder.sql", Settings.AppConnectionString);

            using (var uow = Funcs.GetUnitOfWork())
            {
                IPracticeRoutineSearchCriteria crit = new PracticeRoutineSearchCriteria();
                crit.Title = "monday";

                var practiceRoutine = uow.PracticeRoutines.Find(crit).SingleOrDefault();
                PracticeRoutineRecorder practiceRoutineRecorder = uow.PracticeRoutines.GetPracticeRoutineRecorder(practiceRoutine.Id);

                Assert.IsNotNull(practiceRoutineRecorder);
                Assert.That(practiceRoutineRecorder.Title, Is.EqualTo("Monday Routine"));
                Assert.That(practiceRoutineRecorder.ItemCount, Is.EqualTo(6));
                Assert.That(practiceRoutineRecorder.ExerciseRecorders.Length, Is.EqualTo(6));

                Assert.AreEqual(60, practiceRoutineRecorder.ExerciseRecorders[0].CurrentTotalSeconds);
            }
        }