public WeightTrainingDTO GetWeightTraining(string trainingID)
        {
            ITrainingDAL      trainingDAL = TrainingDALFactory.GetTrainingDAL();
            WeightTrainingDTO training    = trainingDAL.GetWeightTraining(trainingID);

            return(training);
        }
        public void AddWeightTraining()
        {
            //arrange
            IUser           user           = UserFactory.GetUser();
            IUserCollection userCollection = UserCollectionFactory.GetUserCollection();
            ITrainingDAL    dal            = TrainingDALFactory.GetTrainingDAL();
            ExerciseDTO     deadlift       = userCollection.GetExercise("Deadlift");
            ExerciseDTO     squat          = userCollection.GetExercise("Squat");
            ExerciseDTO     pullup         = userCollection.GetExercise("Pullup");
            List <SetDTO>   deadliftSets   = new List <SetDTO>
            {
                new SetDTO(80, 0),
                new SetDTO(85, 1),
                new SetDTO(90, 2)
            };

            List <SetDTO> squatSets = new List <SetDTO>
            {
                new SetDTO(50, 0),
                new SetDTO(55, 1),
                new SetDTO(60, 2)
            };

            List <SetDTO> pullupSets = new List <SetDTO>
            {
                new SetDTO(7, 0),
                new SetDTO(7, 1),
                new SetDTO(7, 2)
            };

            List <RoundDTO> rounds = new List <RoundDTO>
            {
                new RoundDTO(deadlift, deadlift.ExerciseID, deadliftSets),
                new RoundDTO(squat, squat.ExerciseID, squatSets),
                new RoundDTO(pullup, pullup.ExerciseID, pullupSets)
            };

            UserDTO            userDTO           = new UserDTO("TempAccountWeightTraining", Guid.NewGuid(), "TempPassword", null, null);
            IUserCollectionDAL userCollectionDAL = UserCollectionDALFactory.GetUserCollectionDAL();

            userCollectionDAL.AddUser(userDTO);

            WeightTrainingDTO weightTrainingDTO = new WeightTrainingDTO(rounds, userDTO.UserID, DateTime.Now, TrainingTypeDTO.Strength);

            //act
            user.AddStrengthTraining(weightTrainingDTO);

            //assert
            Guid trainingID = dal.GetUserTrainings(userDTO.UserID.ToString())[0].TrainingID;
            WeightTrainingDTO trainingFromDB = dal.GetWeightTraining(trainingID.ToString());

            Assert.AreEqual(userDTO.UserID, trainingFromDB.UserID);
            Assert.AreEqual(weightTrainingDTO.Date.ToLongDateString(), trainingFromDB.Date.ToLongDateString());
            Assert.AreEqual(TrainingTypeDTO.Strength, trainingFromDB.TrainingType);
        }