Пример #1
0
        public void IsCorrectGetRecordExercises()
        {
            #region Arrange

            List <Exercise> exercises = new List <Exercise>
            {
                new Exercise {
                    Id = 1, Name = "Прыжки на месте"
                },
                new Exercise {
                    Id = 2, Name = "Становая тяга"
                },
                new Exercise {
                    Id = 3, Name = "Шраги"
                },
            };

            DateTime date1 = new DateTime(2020, 01, 01);
            DateTime date2 = new DateTime(2020, 01, 07);
            DateTime date3 = new DateTime(2020, 01, 08);


            List <TrainingHead> heads = new List <TrainingHead>
            {
                new TrainingHead {
                    Id = 1, Date = date1
                },
                new TrainingHead {
                    Id = 2, Date = date1
                },
                new TrainingHead {
                    Id = 3, Date = date2
                }
            };

            List <TrainingSpec> specs = new List <TrainingSpec>
            {
                #region date1="2020/01/01 - HeadId=1"
                new TrainingSpec {
                    HeadId = 1, ExId = 1, Set = 1, Weight = 10, Amount = 15
                },
                new TrainingSpec {
                    HeadId = 1, ExId = 2, Set = 1, Weight = 11, Amount = 15
                },
                new TrainingSpec {
                    HeadId = 1, ExId = 3, Set = 1, Weight = 12, Amount = 10
                },

                new TrainingSpec {
                    HeadId = 1, ExId = 1, Set = 2, Weight = 10, Amount = 15
                },
                new TrainingSpec {
                    HeadId = 1, ExId = 2, Set = 2, Weight = 11, Amount = 15
                },
                new TrainingSpec {
                    HeadId = 1, ExId = 3, Set = 2, Weight = 12, Amount = 10
                },

                new TrainingSpec {
                    HeadId = 1, ExId = 1, Set = 3, Weight = 10, Amount = 15
                },
                new TrainingSpec {
                    HeadId = 1, ExId = 2, Set = 3, Weight = 11, Amount = 15
                },
                new TrainingSpec {
                    HeadId = 1, ExId = 3, Set = 3, Weight = 12, Amount = 10
                },
                //
                //  Id=1:Total=450
                //  Id=2:Total=495
                //  Id=3:Total=360
                //
                #endregion
                #region date1="2020/01/01" - HeadId=2"
                new TrainingSpec {
                    HeadId = 2, ExId = 1, Set = 1, Weight = 10, Amount = 1
                },
                new TrainingSpec {
                    HeadId = 2, ExId = 2, Set = 1, Weight = 10, Amount = 1
                },
                new TrainingSpec {
                    HeadId = 2, ExId = 3, Set = 1, Weight = 12, Amount = 15
                },

                new TrainingSpec {
                    HeadId = 2, ExId = 1, Set = 2, Weight = 10, Amount = 1
                },
                new TrainingSpec {
                    HeadId = 2, ExId = 2, Set = 2, Weight = 11, Amount = 1
                },
                new TrainingSpec {
                    HeadId = 2, ExId = 3, Set = 2, Weight = 12, Amount = 15
                },

                new TrainingSpec {
                    HeadId = 2, ExId = 1, Set = 3, Weight = 10, Amount = 1
                },
                new TrainingSpec {
                    HeadId = 2, ExId = 2, Set = 3, Weight = 11, Amount = 1
                },
                new TrainingSpec {
                    HeadId = 2, ExId = 3, Set = 3, Weight = 12, Amount = 15
                },
                //
                //  Id=1:Total=30
                //  Id=2:Total=33
                //  Id=3:Total=540
                //
                #endregion
                #region date2="2020/01/07 - HeadId=3"
                new TrainingSpec {
                    HeadId = 3, ExId = 1, Set = 1, Weight = 10, Amount = 1
                },
                new TrainingSpec {
                    HeadId = 3, ExId = 2, Set = 1, Weight = 15, Amount = 15
                },
                new TrainingSpec {
                    HeadId = 3, ExId = 3, Set = 1, Weight = 15, Amount = 8
                },

                new TrainingSpec {
                    HeadId = 3, ExId = 2, Set = 2, Weight = 15, Amount = 15
                },
                new TrainingSpec {
                    HeadId = 3, ExId = 2, Set = 3, Weight = 15, Amount = 15
                }
            };
            //
            //  Id=1:Total=10
            //  Id=2:Total=675
            //  Id=3:Total=40
            //
            #endregion
            var userData = new UserGeneralData {
                DateFrom = date1, DateTo = date2, UserExercises = exercises, UserSpecs = specs, UserHead = heads
            };
            #endregion

            //Act
            StatisticsModel statisticsModel = new StatisticsModel();
            var             result          = statisticsModel.GetExerciseRecords(userData);

            #region Assert
            var expectetData = new List <Point <int, float> >
            {
                //expecting data
                //Id=1 Total=450 Date=2020/01/01 HeadId=1
                //Id=2 Total=675 Date=2020/01/07 HeadId=3
                //Id=3 Total=540 Date=2020/01/01 HeadId=2

                new Point <int, float> {
                    X = 1, Y = 450, Label = date1.ToString("d MMM yyyy")
                },
                new Point <int, float> {
                    X = 2, Y = 675, Label = date2.ToString("d MMM yyyy")
                },
                new Point <int, float> {
                    X = 3, Y = 540, Label = date1.ToString("d MMM yyyy")
                }
            };

            //Assert
            Assert.Empty(expectetData.Except(result));
            #endregion
        }
Пример #2
0
        public void IsCorrectGroupExercisesByWeight()
        {
            #region Arrange
            int exerciseId = 3;

            List <Exercise> exercises = new List <Exercise>
            {
                new Exercise {
                    Id = 1, Name = "Прыжки на месте"
                },
                new Exercise {
                    Id = 2, Name = "Становая тяга"
                },
                new Exercise {
                    Id = 3, Name = "Шраги"
                },
                new Exercise {
                    Id = 4, Name = "Молоток"
                },
                new Exercise {
                    Id = 5, Name = "Трицепс"
                }
            };

            DateTime date1 = new DateTime(2020, 01, 01);
            DateTime date2 = new DateTime(2020, 01, 07);

            List <TrainingHead> heads = new List <TrainingHead>
            {
                new TrainingHead {
                    Id = 1, Date = date1
                },
                new TrainingHead {
                    Id = 2, Date = date2
                }
            };

            List <TrainingSpec> specs = new List <TrainingSpec>
            {
                new TrainingSpec {
                    HeadId = 1, ExId = 1, Set = 1, Weight = 10, Amount = 1
                },
                new TrainingSpec {
                    HeadId = 1, ExId = 2, Set = 1, Weight = 11, Amount = 1
                },
                new TrainingSpec {
                    HeadId = 1, ExId = 3, Set = 1, Weight = 12, Amount = 10
                },
                new TrainingSpec {
                    HeadId = 1, ExId = 4, Set = 1, Weight = 13, Amount = 1
                },
                new TrainingSpec {
                    HeadId = 1, ExId = 5, Set = 1, Weight = 14, Amount = 1
                },

                new TrainingSpec {
                    HeadId = 1, ExId = 1, Set = 2, Weight = 10, Amount = 1
                },
                new TrainingSpec {
                    HeadId = 1, ExId = 2, Set = 2, Weight = 11, Amount = 1
                },
                new TrainingSpec {
                    HeadId = 1, ExId = 3, Set = 2, Weight = 12, Amount = 10
                },
                new TrainingSpec {
                    HeadId = 1, ExId = 4, Set = 2, Weight = 13, Amount = 1
                },
                new TrainingSpec {
                    HeadId = 1, ExId = 5, Set = 2, Weight = 14, Amount = 1
                },

                new TrainingSpec {
                    HeadId = 1, ExId = 1, Set = 3, Weight = 10, Amount = 1
                },
                new TrainingSpec {
                    HeadId = 1, ExId = 2, Set = 3, Weight = 11, Amount = 1
                },
                new TrainingSpec {
                    HeadId = 1, ExId = 3, Set = 3, Weight = 12, Amount = 10
                },
                new TrainingSpec {
                    HeadId = 1, ExId = 4, Set = 3, Weight = 13, Amount = 1
                },
                new TrainingSpec {
                    HeadId = 1, ExId = 5, Set = 3, Weight = 14, Amount = 1
                },

                new TrainingSpec {
                    HeadId = 2, ExId = 1, Set = 1, Weight = 10, Amount = 1
                },
                new TrainingSpec {
                    HeadId = 2, ExId = 2, Set = 1, Weight = 11, Amount = 1
                },
                new TrainingSpec {
                    HeadId = 2, ExId = 3, Set = 1, Weight = 15, Amount = 8
                },
                new TrainingSpec {
                    HeadId = 2, ExId = 4, Set = 1, Weight = 13, Amount = 1
                },
                new TrainingSpec {
                    HeadId = 2, ExId = 5, Set = 1, Weight = 14, Amount = 1
                },

                new TrainingSpec {
                    HeadId = 2, ExId = 1, Set = 2, Weight = 10, Amount = 1
                },
                new TrainingSpec {
                    HeadId = 2, ExId = 2, Set = 2, Weight = 11, Amount = 1
                },
                new TrainingSpec {
                    HeadId = 2, ExId = 3, Set = 2, Weight = 15, Amount = 8
                },
                new TrainingSpec {
                    HeadId = 2, ExId = 4, Set = 2, Weight = 13, Amount = 1
                },
                new TrainingSpec {
                    HeadId = 2, ExId = 5, Set = 2, Weight = 14, Amount = 1
                },

                new TrainingSpec {
                    HeadId = 2, ExId = 3, Set = 3, Weight = 12, Amount = 45
                },
            };

            //expecting data
            List <Point <DateTime, float> > expectedData = new List <Point <DateTime, float> >()
            {
                new Point <DateTime, float> {
                    X = date1, Y = 360
                },
                new Point <DateTime, float> {
                    X = date2, Y = 780
                }
            };

            //        new UserSpec { Date = date1, ExerciseId = 3, Set = 1, Weight = 12, Amount = 10 },
            //        new UserSpec { Date = date1, ExerciseId = 3, Set = 2, Weight = 12, Amount = 10 }, =360
            //        new UserSpec { Date = date1, ExerciseId = 3, Set = 3, Weight = 12, Amount = 10 },

            //        new UserSpec { Date = date2, ExerciseId = 3, Set = 1, Weight = 15, Amount = 8 },
            //        new UserSpec { Date = date2, ExerciseId = 3, Set = 2, Weight = 15, Amount = 8 }, = 780
            //        new UserSpec{  Date = date2, ExerciseId = 3, Set = 3 ,Weight = 12, Amount = 45},
            #endregion

            //Act
            StatisticsModel sm = new StatisticsModel();

            UserGeneralData ingressData = new UserGeneralData {
                ExerciseId = exerciseId, UserExercises = exercises, UserSpecs = specs, UserHead = heads
            };
            var result = sm.GetExerciseData(ingressData);

            //Assert
            Assert.Empty(expectedData.Except(result["Average Weight"]));
        }