public void WhenAthleteHasNoShoesShouldReturnEmptyList() { var athlete = new AthleteBuilder().Build(); var shoeController = new ShoeDataAccess(); var shoes = shoeController.GetShoes(athlete); Assert.AreEqual(0, shoes.Count); }
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()); }
public GetBestRunsTester() { _athleteBuilder = new AthleteBuilder(); _testRunStart = new DateTime(2008, 1, 1); MemoryDataContext.Clear(); _athlete = _athleteBuilder.Build(); InsertRuns(_athlete); }
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)); }
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)); }
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); }
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); }
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); }
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()); }
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); }
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()); }
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)); }