### Question:
LocalDateUtils { static LocalDate plusDays(LocalDate date, int daysToAdd) { if (daysToAdd == 0) { return date; } long dom = date.getDayOfMonth() + daysToAdd; if (dom > 0 && dom <= 59) { int monthLen = date.lengthOfMonth(); int month = date.getMonthValue(); int year = date.getYear(); if (dom <= monthLen) { return LocalDate.of(year, month, (int) dom); } else if (month < 12) { return LocalDate.of(year, month + 1, (int) (dom - monthLen)); } else { return LocalDate.of(year + 1, 1, (int) (dom - monthLen)); } } long mjDay = Math.addExact(date.toEpochDay(), daysToAdd); return LocalDate.ofEpochDay(mjDay); } private  LocalDateUtils();   }### Answer:
@Test public void test_plusDays0() { LocalDate date = LocalDate.of(2012, 1, 1); for (int i = 0; i < 366 * 4; i++) { assertThat(LocalDateUtils.plusDays(date, 0)).isEqualTo(date.plusDays(0)); date = date.plusDays(1); } }
@Test public void test_plusDays1() { LocalDate date = LocalDate.of(2012, 1, 1); for (int i = 0; i < 366 * 4; i++) { assertThat(LocalDateUtils.plusDays(date, 1)).isEqualTo(date.plusDays(1)); date = date.plusDays(1); } }
@Test public void test_plusDays3() { LocalDate date = LocalDate.of(2012, 1, 1); for (int i = 0; i < 366 * 4; i++) { assertThat(LocalDateUtils.plusDays(date, 3)).isEqualTo(date.plusDays(3)); date = date.plusDays(1); } }
@Test public void test_plusDays99() { LocalDate date = LocalDate.of(2012, 1, 1); for (int i = 0; i < 366 * 4; i++) { assertThat(LocalDateUtils.plusDays(date, 99)).isEqualTo(date.plusDays(99)); date = date.plusDays(1); } }
@Test public void test_plusDaysM1() { LocalDate date = LocalDate.of(2012, 1, 1); for (int i = 0; i < 366 * 4; i++) { assertThat(LocalDateUtils.plusDays(date, -1)).isEqualTo(date.plusDays(-1)); date = date.plusDays(1); } }