| buildAppointmentDTO(Appointment) |  | 0% |  | 0% | 2 | 2 | 28 | 28 | 1 | 1 |
| getPermissions(List, AdminUser) |  | 0% |  | 0% | 2 | 2 | 13 | 13 | 1 | 1 |
| weekIsOpenInFO(AppointmentFormDTO, List, Locale) |  | 0% |  | 0% | 12 | 12 | 18 | 18 | 1 | 1 |
| buildListResponse(AppointmentDTO, HttpServletRequest, Locale) |  | 0% |  | 0% | 4 | 4 | 16 | 16 | 1 | 1 |
| checkNoAppointmentsImpacted(List, AppointmentFormDTO) |  | 0% |  | 0% | 7 | 7 | 16 | 16 | 1 | 1 |
| validateFormAndEntries(AppointmentDTO, HttpServletRequest, List, boolean) |  | 0% |  | 0% | 5 | 5 | 15 | 15 | 1 | 1 |
| putTimerInSession(HttpServletRequest, int, AppointmentDTO, int) |  | 0% |  | 0% | 2 | 2 | 16 | 16 | 1 | 1 |
| checkNbDaysBetweenTwoAppointmentsTaken(AppointmentDTO, String, AppointmentFormDTO) |  | 0% |  | 0% | 7 | 7 | 17 | 17 | 1 | 1 |
| checkListSlotIsBuildedCorrectly(int, List) |  | 0% |  | 0% | 6 | 6 | 12 | 12 | 1 | 1 |
| checkEmail(String, String, AppointmentFormDTO, Locale, List) |  | 0% |  | 0% | 5 | 5 | 14 | 14 | 1 | 1 |
| checkNbMaxAppointmentsDefinedOnCategory(AppointmentDTO, String, AppointmentFormDTO, List) |  | 0% |  | 0% | 8 | 8 | 12 | 12 | 1 | 1 |
| checkAndReturnNbBookedSeats(String, AppointmentFormDTO, AppointmentDTO, Locale, List) |   | 45% |   | 50% | 5 | 7 | 10 | 21 | 0 | 1 |
| checkNoAppointmentsImpacted(List, int) |  | 0% |  | 0% | 4 | 4 | 10 | 10 | 1 | 1 |
| fillInReservationRuleAdvancedParam(ReservationRuleDTO, AppointmentFormDTO) |  | 0% | | n/a | 1 | 1 | 10 | 10 | 1 | 1 |
| fillInListResponseWithMapResponse(AppointmentDTO) |  | 0% |  | 0% | 4 | 4 | 8 | 8 | 1 | 1 |
| isConsecutiveSlots(List) |  | 0% |  | 0% | 5 | 5 | 7 | 7 | 1 | 1 |
| lambda$findSlotsImpactedByThisTimeSlot$12(WorkingDay, TimeSlot, Slot) |  | 0% |  | 0% | 5 | 5 | 4 | 4 | 1 | 1 |
| fillAppointmentDTO(AppointmentDTO, int, String, String, String, String) |  | 0% | | n/a | 1 | 1 | 7 | 7 | 1 | 1 |
| lambda$findSlotsImpactedByThisTimeSlot$13(WorkingDay, TimeSlot, Slot) |   | 39% |   | 16% | 6 | 7 | 3 | 6 | 0 | 1 |
| checkDateOfTheAppointmentIsNotBeforeNow(AppointmentDTO, Locale, List) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| cancelTaskTimer(HttpServletRequest, int) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| shutdownSecheduledExecutor() |  | 0% |  | 0% | 2 | 2 | 9 | 9 | 1 | 1 |
| checkNbMaxAppointmentsOnAGivenPeriod(AppointmentDTO, String, AppointmentFormDTO) |   | 85% |   | 50% | 9 | 11 | 5 | 31 | 0 | 1 |
| isEditSlotTaskExpiredTime(HttpServletRequest, int) |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| lambda$checkListSlotIsBuildedCorrectly$14(Slot, Slot) |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| lambda$checkNoAppointmentsImpacted$10(Slot, TimeSlot) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| lambda$checkNbMaxAppointmentsDefinedOnCategory$7(LocalDateTime, AppointmentDTO) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| findSlotsImpactedByThisTimeSlot(TimeSlot, int, int, boolean) |   | 75% |   | 50% | 1 | 2 | 3 | 13 | 0 | 1 |
| lambda$checkNoAppointmentsImpacted$9(Slot, WorkingDay) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| getAppointmentByEmail(String, int) |   | 78% |   | 62% | 3 | 5 | 1 | 10 | 0 | 1 |
| lambda$checkNbMaxAppointmentsDefinedOnCategory$8(AppointmentDTO, AppointmentDTO) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| lambda$checkNbMaxAppointmentsOnAGivenPeriod$4(AppointmentDTO, AppointmentDTO) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| lambda$checkNbDaysBetweenTwoAppointmentsTaken$2(AppointmentDTO, Appointment) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| checkNoAppointmentsImpacted(List, int, int, AppointmentFormDTO) |   | 92% |   | 55% | 8 | 10 | 4 | 27 | 0 | 1 |
| lambda$getAppointmentByEmail$3(int, Appointment) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| setAppointmentPhoneNumberValuesFromResponse(AppointmentDTO) |   | 82% |   | 50% | 2 | 3 | 3 | 17 | 0 | 1 |
| lambda$checkNbMaxAppointmentsOnAGivenPeriod$5(LocalDate, AppointmentDTO) |   | 56% |   | 25% | 2 | 3 | 0 | 2 | 0 | 1 |
| lambda$static$0(Runnable) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getEndingDateTime(Appointment) |   | 92% |   | 50% | 2 | 3 | 1 | 5 | 0 | 1 |
| getStartingDateTime(Appointment) |   | 91% |   | 50% | 1 | 2 | 1 | 5 | 0 | 1 |
| lambda$checkNbMaxAppointmentsOnAGivenPeriod$6(LocalDate, AppointmentDTO) |   | 87% |   | 50% | 2 | 3 | 0 | 2 | 0 | 1 |
| lambda$checkNbDaysBetweenTwoAppointments$1(AppointmentFormDTO, Slot) |   | 88% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| checkNbDaysBetweenTwoAppointments(AppointmentDTO, String, AppointmentFormDTO) |  | 100% |   | 60% | 4 | 6 | 0 | 14 | 0 | 1 |
| getSlotsByEmail(String, int) |  | 100% |   | 62% | 3 | 5 | 0 | 9 | 0 | 1 |
| checkNoValidatedAppointmentsOnThisSlot(Slot) |  | 100% |   | 75% | 1 | 3 | 0 | 7 | 0 | 1 |
| getMaxTimeToDisplay(LocalTime) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| getMinTimeToDisplay(LocalTime) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| lambda$setAppointmentPhoneNumberValuesFromResponse$15(Response) |  | 100% |   | 75% | 1 | 3 | 0 | 1 | 0 | 1 |
| checkNoAppointmentsImpacted(List, int, LocalDate, AppointmentFormDTO) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$setAppointmentPhoneNumberValuesFromResponse$16(String) |  | 100% |   | 75% | 1 | 3 | 0 | 1 | 0 | 1 |
| lambda$checkNoValidatedAppointmentsOnThisSlot$11(Appointment) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| getFormattedDateAppointmentTaken(LocalDateTime) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |