Пример #1
0
 public void WhenAthleteHasNoShoesShouldReturnEmptyList()
 {
     var athlete = new AthleteBuilder().Build();
     var shoeController = new ShoeDataAccess();
     var shoes = shoeController.GetShoes(athlete);
     Assert.AreEqual(0, shoes.Count);
 }
Пример #2
0
        public void AssertInsertPlannedRuns()
        {
            var builder = new AthleteBuilder();

            var athlete = builder.Build();

            var selectedDays = WeekdaySelectionEnumeration.FifthDayOfWeek | WeekdaySelectionEnumeration.SeventhDayOfWeek;

            var trainingPlan = new TrainingPlan
                                   {
                                       Workload = 50,
                                       Goal = CreateGoal(),
                                       Athlete = athlete,
                                       Start = new DateTime(2009, 1, 1),
                                       StartDistance = 2000,
                                       PreferredWeekdays = (int)selectedDays
                                   };

            MemoryDataContext.Clear();
            Assert.IsTrue(MemoryDataContext.IsEmpty);
            MemoryDataContext.InsertOnSubmit(athlete);
            MemoryDataContext.InsertOnSubmit(trainingPlan);
            MemoryDataContext.Commit();

            var runDataAccess = new RunDataAccess();

            runDataAccess.CreateRuns(trainingPlan);

            Assert.AreEqual(47, MemoryDataContext.Queryable<Run>().Count());
        }
Пример #3
0
        public GetBestRunsTester()
        {
            _athleteBuilder = new AthleteBuilder();

            _testRunStart = new DateTime(2008, 1, 1);

            MemoryDataContext.Clear();
            _athlete = _athleteBuilder.Build();
            InsertRuns(_athlete);
        }
Пример #4
0
        public void ShouldSaveRun()
        {
            MemoryDataContext.Clear();
            var e = new RunDataAccess ();

            var athlete = new AthleteBuilder().Build();
            MemoryDataContext.Add(athlete);

            var run = new Run { ID = 0, Athlete = athlete};

            e.SaveRun(run);

            Assert.IsTrue(MemoryDataContext.IsCommited(run));
        }
Пример #5
0
        public void AssertAllRunsOccursOnMonday()
        {
            var builder = new AthleteBuilder();

            var athlete = builder.Build();

            const WeekdaySelectionEnumeration mondaySelected = WeekdaySelectionEnumeration.FirstDayOfWeek;

            var trainingPlan = CreatePlan(athlete, mondaySelected);

            var trainer = new Trainer {WeekStartsOnMonday = true};

            var runs = trainer.CreateRuns(athlete, trainingPlan);

            var mondays = runs.ToList().ConvertAll(x => (x.Start).DayOfWeek);

            Assert.IsTrue(mondays.All(day => day == DayOfWeek.Monday));
        }
Пример #6
0
        public void AssertFindsHistory()
        {
            const int pagesize = 5;
            var athleteBuilder = new AthleteBuilder();
            var athlete = athleteBuilder.Build();
            var query =
                new AthleteHealthQuery {PagingData = BuildPagingData(pagesize), Athlete = athlete};
            MemoryDataContext.Clear();

            MemoryDataContext.Add(athlete);
            InsertTestHealthHistory(athlete, pagesize*2);

            var athleteDataAccess = new AthleteDataAccess();

            query = athleteDataAccess.GetHealthHistory(query);

            Assert.AreEqual(pagesize, query.AthleteHealthHistory.Count);
            Assert.AreEqual(pagesize*2, query.PagingData.TotalCount);
        }
Пример #7
0
        public void AssertSavesRunsAsCsv()
        {
            var athleteBuilder = new AthleteBuilder();
            var athlete = athleteBuilder.Build();
            athlete.User.UserName = "******";

            var run = Build();
            run.Athlete = athlete;

            _inMemoryDataContext.Add(run);

            var e = new DownloadService();

            var expected =
                "Foo/[email protected]";

            var downloadUrl = e.DownloadMyRuns(athlete);

            Assert.AreEqual(expected, downloadUrl);
        }
Пример #8
0
        public void AssertCreatePlannedRunsWhenOneDaysIsSelected()
        {
            var builder = new AthleteBuilder();

            var athlete = builder.Build();

            const WeekdaySelectionEnumeration oneSelectedDayForTraining = WeekdaySelectionEnumeration.FirstDayOfWeek;

            var trainingPlan = CreatePlan(athlete, oneSelectedDayForTraining);

            var trainer = new Trainer();

            var runs = trainer.CreateRuns(athlete, trainingPlan);

            var distances = runs.ToList().ConvertAll(x => (x.Distance).ToString());

            const string expected =
                "2000,2200,2420,2000,2662,2928,3221,2662,3543,3897,4287,3543,4716,5187,5706,4716,6277,6905,7595,6277,8354,9190,7000,10000";
            var actual = string.Join(",", distances.ToArray());

            Assert.AreEqual(expected, actual);
        }
Пример #9
0
        public void AssertInsertsDataFromUuencodedText()
        {
            var athleteBuilder = new AthleteBuilder();
            var athlete = athleteBuilder.Build();

            MemoryDataContext.Clear();
            MemoryDataContext.Add(athlete);
            MemoryDataContext.Add(athlete.User);

            var uuencoded = File.ReadAllText("garmin-uuencoded.txt");

            var e = new WorkoutDataAcces();

            e.AddWatchData(uuencoded, athlete.User.UserName);

            Assert.AreEqual(1, MemoryDataContext.Queryable<Activity>().Count());

            Assert.AreEqual(1, MemoryDataContext.Queryable<Lap>().Count());

            Assert.AreEqual(4, MemoryDataContext.Queryable<Track>().Count());

            Assert.AreEqual(1004, MemoryDataContext.Queryable<Trackpoint>().Count());
        }
Пример #10
0
        public void AssertReturnsRequestedWorkouts()
        {
            var athleteBuilder = new AthleteBuilder();
            var athlete = athleteBuilder.Build();

            MemoryDataContext.Clear();
            MemoryDataContext.Add(athlete);

            const int noOfWorkOuts = 10;
            InsertTestWorkouts(athlete, noOfWorkOuts);

            var query =
                new WorkoutQuery
                    {
                        PagingData = BuildUnlimitingPagingData(),
                        Athlete = athlete
                    };

            var workoutDataAcces = new WorkoutDataAcces();

            var workoutQuery = workoutDataAcces.GetWorkouts(query);

            Assert.AreEqual(noOfWorkOuts, workoutQuery.Workouts.Count);
        }
Пример #11
0
        public void AssertInsertsDataFromActivityBuilder()
        {
            var athleteBuilder = new AthleteBuilder();
            var athlete = athleteBuilder.Build();

            MemoryDataContext.Clear();
            MemoryDataContext.Add(athlete);
            MemoryDataContext.Add(athlete.User);

            var activityBuilder = BuildBuilder();
            activityBuilder.Build();

            var e = new WorkoutDataAcces();

            e.AddWatchData(activityBuilder, athlete.User.UserName);

            Assert.AreEqual(1, MemoryDataContext.Queryable<Activity>().Count());

            Assert.AreEqual(1, MemoryDataContext.Queryable<Lap>().Count());

            Assert.AreEqual(2, MemoryDataContext.Queryable<Track>().Count());

            Assert.AreEqual(5, MemoryDataContext.Queryable<Trackpoint>().Count());
        }
Пример #12
0
        public void AssertRunsOccursOnSelectedWeekdays()
        {
            var builder = new AthleteBuilder();

            var athlete = builder.Build();

            const int expectedRunCount = 70;

            const WeekdaySelectionEnumeration threeDays =
                WeekdaySelectionEnumeration.FirstDayOfWeek | WeekdaySelectionEnumeration.ThirdDayOfWeek |
                WeekdaySelectionEnumeration.FifthDayOfWeek;

            var trainingPlan = CreatePlan(athlete, threeDays);

            var trainer = new Trainer {WeekStartsOnMonday = true};

            var runs = trainer.CreateRuns(athlete, trainingPlan);

            Assert.AreEqual(expectedRunCount, runs.Count());

            var days = runs.ToList().ConvertAll(x => x.Start.DayOfWeek);

            Assert.AreEqual(expectedRunCount, days.Count());

            Func<DayOfWeek, bool> isValidDaySelection =
                day => day == DayOfWeek.Monday || day == DayOfWeek.Wednesday || day == DayOfWeek.Friday;

            Assert.IsTrue(days.All(isValidDaySelection));

            trainer = new Trainer {WeekStartsOnMonday = false};
            runs = trainer.CreateRuns(athlete, trainingPlan).ToList();

            days = runs.ToList().ConvertAll(x => (x.Start).DayOfWeek);

            Assert.AreEqual(expectedRunCount, days.Count());

            isValidDaySelection =
                day => day == DayOfWeek.Sunday || day == DayOfWeek.Tuesday || day == DayOfWeek.Thursday;

            Assert.IsTrue(days.All(isValidDaySelection));
        }