public void ShouldDislayOneDigitForAllPeriods() { Constants.DAILY_INFO_WEIGHT_DIGITS_PERSIST = 2; Constants.DAILY_INFO_WEIGHT_DIGITS_DISPLAY = 1; TestHelper.DropDailyInfoCollections(); var service = ObjectFactory.GetInstance <IDailyInfoService>(); var info = new Model.DailyInfo.DailyInfo { UserId = UserId, Hotel = true, Weight = 50.23, }; service.InsertDailyInfo(UserId, info, _now); ServiceDailyInfo data = service.GetDayInfoViewService(UserId, Constants.NUMBER_OF_DAY_RECORDS, _now); Assert.IsTrue(Math.Abs(data.Weight[0] - 50.2) < 0.1); ServiceDailyInfoSummaryData sumdata = service.GetDailyInfoServiceViewData(UserId, 2, _now); Assert.IsTrue(Math.Abs(sumdata.AverageWeight.Last() - 50.2) < 0.1); sumdata = service.GetDailyInfoServiceViewData(UserId, 3, _now); Assert.IsTrue(Math.Abs(sumdata.AverageWeight.Last() - 50.2) < 0.1); }
public void ShouldUpdateDailyInfo() { DateTime _now = DateTime.Now; int userId = 75; var service = ObjectFactory.GetInstance <IDailyInfoService>(); TestHelper.DropDailyInfoCollections(); var info = new Model.DailyInfo.DailyInfo { UserId = userId, Hotel = true, Weight = 50, }; service.InsertDailyInfo(userId, info); info.Travel = true; service.InsertDailyInfo(userId, info); GenericError error; ServiceDailyInfo dayDailyInfo = service.GetDayInfoViewService(userId, Constants.NUMBER_OF_DAY_RECORDS, _now); Assert.IsTrue(dayDailyInfo.Weight.First() == 50); Assert.IsTrue(dayDailyInfo.Hotel.First()); Assert.IsTrue(!dayDailyInfo.Sick.First()); Assert.IsTrue(dayDailyInfo.Travel.First()); Assert.IsTrue(!dayDailyInfo.Rest.First()); }
public void ShouldContainTrainingDataAverages() { DateTime now = DateTime.Now; int userId = 75; var service = ObjectFactory.GetInstance <IDailyInfoService>(); TestHelper.DropDailyInfoCollections(); TestHelper.SeedTrainingData(new List <int> { 75 }, now, 1, 1); var info = new Model.DailyInfo.DailyInfo { UserId = userId, Hotel = true, Weight = 50 }; service.InsertDailyInfo(userId, info, now.AddDays(-7)); ServiceDailyInfo dailyInfo = service.GetDayInfoViewService(userId, Constants.NUMBER_OF_DAY_RECORDS, now.AddDays(-1)); Assert.IsTrue(Math.Abs(dailyInfo.Weight[6] - 50) < 0.001); Assert.IsTrue(dailyInfo.Hotel[6]); Assert.IsTrue(dailyInfo.Sick[6] == false); Assert.IsTrue(dailyInfo.Travel[6] == false); Assert.IsTrue(dailyInfo.Rest[6] == false); Assert.IsTrue(Math.Abs(dailyInfo.TrainingDataPerActivity.ActivitiesDic[Types.TrainingType.Endurance][0].Value - 0.25) < 0.001); }
public ServiceDailyInfo GetDayInfoViewService(int userId, int numberOfDailyInfo, DateTime now) { var helper = new DailyInfoDailyDataHelper { Repository = DailyInfoSummaryDataRepository }; IList <Model.DailyInfo.DailyInfo> data = helper.GetViewDataForTimePeriod(userId, now, numberOfDailyInfo); ServiceDailyInfo adapted = AdaptDayData(data.ToList()); return(FillTrainingDetailsDayData(userId, now, adapted)); }
private DailyInfoSummaryData SumUpDailyInfos(ServiceDailyInfo weeksDailyInfos) { return(new DailyInfoSummaryData { AverageWeight = weeksDailyInfos.Weight.Sum() / weeksDailyInfos.Weight.Count, Rest = weeksDailyInfos.Rest.Sum(d => d ? 1 : 0), Travel = weeksDailyInfos.Travel.Sum(d => d ? 1 : 0), Sick = weeksDailyInfos.Sick.Sum(d => d ? 1 : 0), Hotel = weeksDailyInfos.Hotel.Sum(d => d ? 1 : 0), }); }
private ServiceDailyInfo AdaptDayData(List <Model.DailyInfo.DailyInfo> lattestDailyInfos) { var serviceAdaptedData = new ServiceDailyInfo(); foreach (Model.DailyInfo.DailyInfo info in lattestDailyInfos) { serviceAdaptedData.Date = info.Date; serviceAdaptedData.Rest.Add(info.Rest); serviceAdaptedData.Travel.Add(info.Travel); serviceAdaptedData.Hotel.Add(info.Hotel); serviceAdaptedData.Sick.Add(info.Sick); serviceAdaptedData.Weight.Add(info.Weight); } serviceAdaptedData.TodaysDailyInfo = lattestDailyInfos.FirstOrDefault( d => d.Date.Day == Controller.GetServerDateTime().Day); return(serviceAdaptedData); }
public void ShouldGetMonthlyInfoSummaryData() { var _now = new DateTime(2013, 4, 23); int userId = 75; var service = ObjectFactory.GetInstance <IDailyInfoService>(); TestHelper.DropDailyInfoCollections(); var info = new Model.DailyInfo.DailyInfo { UserId = userId, Hotel = true, Weight = 50, }; service.InsertDailyInfo(userId, info, _now); ServiceDailyInfo data = service.GetDayInfoViewService(userId, 2, _now); Assert.IsTrue(data.Hotel[0]); Assert.IsTrue(data.Rest[0] == false); Assert.IsTrue(data.Sick[0] == false); //Add Second Info var info2 = new Model.DailyInfo.DailyInfo { UserId = userId, Hotel = true, Weight = 100, }; service.InsertDailyInfo(userId, info2, _now.AddDays(-1)); List <DailyInfoSummaryData> dataMonth = service.GetDailyInfoViewData(userId, 3, _now); Assert.IsTrue(dataMonth[0].Hotel == 2); Assert.IsTrue(Math.Abs(dataMonth[0].AverageWeight - 75) < 0.01); }
public void ShouldGetCorrectDailyInfo() { var _now = new DateTime(2013, 3, 13); const int userId = 50; var service = ObjectFactory.GetInstance <IDailyInfoService>(); TestHelper.DropDailyInfoCollections(); var info = new Model.DailyInfo.DailyInfo { UserId = userId, Hotel = true, Weight = 50, }; service.InsertDailyInfo(userId, info, _now.AddDays(-6)); ServiceDailyInfo dailyInfo = service.GetDayInfoViewService(userId, Constants.NUMBER_OF_DAY_RECORDS, _now); Assert.IsTrue(Math.Abs(dailyInfo.Weight[6] - 50) < 0.001); Assert.IsTrue(dailyInfo.Hotel[6]); Assert.IsTrue(dailyInfo.Sick[6] == false); Assert.IsTrue(dailyInfo.Travel[6] == false); Assert.IsTrue(dailyInfo.Rest[6] == false); }
private ServiceDailyInfo FillTrainingDetailsDayData(int userId, DateTime now, ServiceDailyInfo dailyInfo) { var periodTrainingDataStrategy = new DailyTrainingDataSummary(); var numericCalculationTypeStrategy = new SumTrainigDataSummaryStrategy(); Dictionary <Types.TrainingType, List <TrainingDataTainingDetailsModel.TrainingDataValue> > activityInfo = TrainingDataService.GetActivityInfoSummary( userId, now, periodTrainingDataStrategy.NumberOfRecords, periodTrainingDataStrategy, numericCalculationTypeStrategy, new List <Types.TrainingType> { Types.TrainingType.Endurance, Types.TrainingType.Recovery, Types.TrainingType.Speed, Types.TrainingType.Competition, Types.TrainingType.Sport, Types.TrainingType.Strength }); dailyInfo.TrainingDataPerActivity = new TrainingDataPerActivity(activityInfo); return(dailyInfo); }
private void FillDailyInfoSpecificDisplayQuestions(int userId, QuestionnaireTemplate instanciatedTemplate, DateTime now) { try { ServiceDailyInfo weeksDailyInfos = ObjectFactory.GetInstance <IDailyInfoService>().GetDayInfoViewService(userId, 7, now); if (weeksDailyInfos != null) { DailyInfoSummaryData lastWeek = SumUpDailyInfos(weeksDailyInfos); instanciatedTemplate.QuestionCategories[instanciatedTemplate.QuestionCategories.Count - 1] .Questions[7].QuestionAnwer = new QuestionAnwer { Description = lastWeek.Rest.ToString(CultureInfo.InvariantCulture) }; instanciatedTemplate.QuestionCategories[instanciatedTemplate.QuestionCategories.Count - 1] .Questions[8].QuestionAnwer = new QuestionAnwer { Description = lastWeek.Travel.ToString(CultureInfo.InvariantCulture) }; instanciatedTemplate.QuestionCategories[instanciatedTemplate.QuestionCategories.Count - 1] .Questions[9].QuestionAnwer = new QuestionAnwer { Description = lastWeek.Hotel.ToString(CultureInfo.InvariantCulture) }; instanciatedTemplate.QuestionCategories[instanciatedTemplate.QuestionCategories.Count - 1] .Questions[10].QuestionAnwer = new QuestionAnwer { Description = "-" }; } else { instanciatedTemplate.QuestionCategories[instanciatedTemplate.QuestionCategories.Count - 1] .Questions[7].QuestionAnwer = new QuestionAnwer { Description = "-" }; instanciatedTemplate.QuestionCategories[instanciatedTemplate.QuestionCategories.Count - 1] .Questions[8].QuestionAnwer = new QuestionAnwer { Description = "-" }; instanciatedTemplate.QuestionCategories[instanciatedTemplate.QuestionCategories.Count - 1] .Questions[9].QuestionAnwer = new QuestionAnwer { Description = "-" }; instanciatedTemplate.QuestionCategories[instanciatedTemplate.QuestionCategories.Count - 1] .Questions[10].QuestionAnwer = new QuestionAnwer { Description = "-" }; } } catch (Exception e) { Console.WriteLine(e); } }