Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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),
     });
 }
Ejemplo n.º 6
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);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
        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);
            }
        }