public async Task GetExerciseAsync_ShouldReturnChosenExerciseByAthlete(int athleteId, int exerciseId)
        {
            var exercise         = _fixture.Build <Exercise>().With(e => e.Id, exerciseId).Create();
            var athleteExercises = _fixture.Build <AthleteExercise>()
                                   .With(ae => ae.AthleteId, athleteId)
                                   .With(ae => ae.ExerciseId, exerciseId)
                                   .With(ae => ae.Exercise, exercise)
                                   .CreateMany(count: 1);

            var athlete = _fixture.Build <Athlete>()
                          .With(a => a.AthleteExercises, athleteExercises.ToList())
                          .With(a => a.Id, athleteId)
                          .Without(a => a.AthleteProducts)
                          .Create();

            _athleteRepository.FindByCondition(Arg.Any <Expression <Func <Athlete, bool> > >(),
                                               Arg.Any <Func <IQueryable <Athlete>, IIncludableQueryable <Athlete, object> > >()).Returns(athlete);

            var dto = await _sut.GetExerciseAsync(athleteId, exerciseId);

            dto.ShouldNotBeNull();
            dto.Exercises.Count.ShouldBe(1);

            var athleteExercise = athlete.AthleteExercises.FirstOrDefault();

            dto.Exercises[0].Exercise.Id.ShouldBe(exerciseId);
        }