Exemplo n.º 1
0
        public void WhenActivitiesExistShouldSetDayActivityCount()
        {
            MemoryDataContext.Clear();
            InsertDefaultAthlete();
            Assert.AreEqual(0, MemoryDataContext.Queryable<Run>().Count());

            var e = new RunDataAccess();

            var monthQuery = new MonthQuery
            {
                Athlete = _athlete,
                Month = 1,
                WeekStartsOnMonday = true,
                Year = 2009
            };
            monthQuery.CalculateDateRange();

            InsertPersistentRun(monthQuery.Start);
            InsertPersistentRun(monthQuery.End);
            InsertPersistentRun(monthQuery.End);

            monthQuery = e.GetMonthQuery(monthQuery);

            Assert.AreEqual(1, monthQuery.DayActivities.First().ActivityCount);
            Assert.AreEqual(2, monthQuery.DayActivities.Last().ActivityCount);
        }
Exemplo n.º 2
0
        public MonthQuery GetMonthQuery(MonthQuery query)
        {
            query.CalculateDateRange();
            query.BuildEmptyDayActivityList();

            //must convert ToList() groupby syntaks is not supported
            var grouped = GetRuns(query).ToList().GroupBy(x => x.Start.Date, new DateEqualityComparer());
            var activities = grouped.ToList().ConvertAll(x => new DayActivity { ActivityCount = x.Count(), Day = x.Key });
            query.BuildDayActivities(activities);
            return query;
        }
Exemplo n.º 3
0
        public void ShouldSetStartAndEndDate()
        {
            var monthQuery = new MonthQuery
            {
                Athlete = _athlete,
                Month = 11,
                WeekStartsOnMonday = true,
                Year = 2009
            };
            monthQuery.CalculateDateRange();

            Assert.AreEqual(new DateTime(2009,10, 26), monthQuery.Start);
            Assert.AreEqual(new DateTime(2009, 12, 6), monthQuery.End);
        }
Exemplo n.º 4
0
        public void ShouldReturn42EmptyDayActivities()
        {
            MemoryDataContext.Clear();
            InsertDefaultAthlete();
            Assert.AreEqual(0, MemoryDataContext.Queryable<Run>().Count());
            var e = new RunDataAccess();

            var monthQuery = new MonthQuery
                        {
                            Athlete = _athlete,
                            Month = 11,
                            WeekStartsOnMonday = true,
                            Year = 2009
                        };

            monthQuery = e.GetMonthQuery(monthQuery);

            foreach (var dayActivity in monthQuery.DayActivities)
            {
                Assert.AreEqual(0, dayActivity.ActivityCount);
            }
            Assert.AreEqual(42, monthQuery.DayActivities.Count);
        }
Exemplo n.º 5
0
 public IQueryable<Run> GetRuns(MonthQuery monthQuery)
 {
     var runs = GetUnTrashedRuns(monthQuery.Start, monthQuery.End).Where(x => x.Athlete == monthQuery.Athlete);
     return runs;
 }