public void GIVEN_Bad_Reader_WHEN_Retrieving_Workout_IDs_THEN_Exception()
 {
     //Arrange
     var badFactory = new WorkoutFactory(_invalidReader);
     //Act
     var ids = badFactory.GetIDs();
 }
 public void GIVEN_Valid_Reader_WHEN_Retrieving_Workout_IDs_THEN_IDS_Retrieved()
 {
     //Arrange
     var goodFactory = new WorkoutFactory(_validReader);
     //Act
     var ids = goodFactory.GetIDs();
     //Assert
     Assert.IsNotNull(ids);
     Assert.AreNotEqual(ids.Count(), 0);
 }
        public void GIVEN_Valid_Run_XDoc_WHEN_Retrieving_Workouts_Via_Get_THEN_Workout_Returned()
        {
            var goodFactory = new WorkoutFactory(_validReader);

            var actual = goodFactory.GetIDs();
            foreach (var workoutID in actual)
            {
                var workCopy = goodFactory.GetWorkout(workoutID);

                //TODO: Validate values in returned entity
                Assert.IsNotNull(workCopy, "Invalid Workout Returned");
            }
        }
        public void GIVEN_Reader_With_Incorrect_Run_WHEN_Retrieving_Workout_By_ID_THEN_Exception()
        {
            var goodFactory = new WorkoutFactory(_validReader);
            var badFactory = new WorkoutFactory(_invalidReader);

            foreach (var id in goodFactory.GetIDs())
            {
                badFactory.GetWorkout(id);
            }
        }
 public void GIVEN_Null_Reader_WHEN_Retrieving_Workout_IDs_THEN_Exception()
 {
     //Arrange
     var nullFactory = new WorkoutFactory(_nullXDocReader);
     //Act
     var ids = nullFactory.GetIDs();
 }
        public void GIVEN_List_Of_IDs_WHEN_Retrieving_By_ID_THEN_Populated_Workout_Retrieved()
        {
            //Arrange
            var converter = new WorkoutFactory(_validReader);
            //Act
            var ids = converter.GetIDs();
            foreach (var id in ids)
            {
                var w = converter.GetWorkout(id);
                Assert.IsNotNull(w);
                Console.Out.WriteLine("{0} [{1}] Calories: {2} Distance: {3} Time: {4}", w.ID, w.Name, w.Calories, w.Distance, new TimeSpan(w.Duration));
                if (w.Snapshots != null)
                {
                    foreach (var ss in w.Snapshots)
                    {
                        Console.Out.WriteLine("{0} {1} {2} {3}", ss.DataType, ss.Interval, ss.IntervalType, ss.IntervalUnit);
                        if (ss.Intervals != null)
                        {
                            Console.Out.WriteLine("Num of Intervals: {0}", ss.Intervals.Count());
                        }
                    }
                }
            }

            //Assert
            Assert.IsNotNull(ids);
            Assert.AreNotEqual(ids.Count(), 0);
        }
        public void GIVEN_Empty_Run_XDoc_WHEN_Retrieving_Workout_By_ID_THEN_Exception()
        {
            var badFactory = new WorkoutFactory(_emptyXDocReader);
            var goodFactory = new WorkoutFactory(_validReader);

            foreach (var id in goodFactory.GetIDs())
            {
                badFactory.GetWorkout(id);
            }
        }
 public void GIVEN_Empty_Reader_WHEN_Retrieving_Workout_IDs_THEN_No_IDS_Retrieved()
 {
     //Arrange
     var emptyFactory = new WorkoutFactory(_emptyXDocReader);
     //Act
     var ids = emptyFactory.GetIDs();
     //Assert
     Assert.IsNotNull(ids);
     Assert.AreEqual(ids.Count(), 0);
 }