| isVisibleForUser(Level, Level) |   | 56% |   | 50% | 2 | 4 | 0 | 2 | 0 | 1 |
| pickTabsForDifficulty(int, Set, int) |   | 97% |   | 87% | 1 | 5 | 1 | 17 | 0 | 1 |
| generateChallengesForLevelIfNeeded(LocalDate, Level, LocalDate) |  | 99% |   | 87% | 1 | 5 | 1 | 28 | 0 | 1 |
| completeChallenge(Long, User) |  | 100% |  | 100% | 0 | 5 | 0 | 27 | 0 | 1 |
| getTodayChallengesForUser(User) |  | 100% |  | 100% | 0 | 3 | 0 | 10 | 0 | 1 |
| getStats(User) |  | 100% | | n/a | 0 | 1 | 0 | 14 | 0 | 1 |
| updateStreak(User) |  | 100% |   | 87% | 1 | 5 | 0 | 11 | 0 | 1 |
| generateTodayChallengesIfNeeded() |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| calculateLevel(int) |  | 100% |  | 100% | 0 | 2 | 0 | 8 | 0 | 1 |
| collectTabs(List, Set, List, int) |  | 100% |   | 83% | 1 | 4 | 0 | 7 | 0 | 1 |
| xpForLevel(int) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| DailyChallengeService(DailyChallengeRepository, PdfDocumentRepository, UserChallengeCompletionRepository, UserRepository) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| xpForLevel(Level) |  | 100% |  | 100% | 0 | 3 | 0 | 4 | 0 | 1 |
| levelToInt(Level) |  | 100% |  | 100% | 0 | 3 | 0 | 4 | 0 | 1 |
| lambda$generateChallengesForLevelIfNeeded$2(Set, DailyChallenge) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$generateChallengesForLevelIfNeeded$1(Set, DailyChallenge) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$completeChallenge$0() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |