CalendarManager { public boolean next() { boolean next = mUnit.next(); mUnit.select(mSelected); setActiveMonth(mUnit.getFrom()); return next; } CalendarManager(@NonNull LocalDate selected, @NonNull State state, @Nullable LocalDate minDate,
                           @Nullable LocalDate maxDate);  CalendarManager(@NonNull LocalDate selected, @NonNull State state, @Nullable LocalDate minDate,
            @Nullable LocalDate maxDate, @Nullable Formatter formatter); boolean selectDay(@NonNull LocalDate date); @NonNull LocalDate getSelectedDay(); @NonNull String getHeaderText(); boolean hasNext(); boolean hasPrev(); boolean next(); boolean prev(); void toggleView(); @NonNull State getState(); CalendarUnit getUnits(); LocalDate getActiveMonth(); int getWeekOfMonth(); void init(@NonNull LocalDate date, @Nullable LocalDate minDate, @Nullable LocalDate maxDate); @Nullable LocalDate getMinDate(); void setMinDate(@Nullable LocalDate minDate); @Nullable LocalDate getMaxDate(); void setMaxDate(@Nullable LocalDate maxDate); @NonNull Formatter getFormatter();  }
@Test public void testNext() throws Exception { LocalDate from = LocalDate.now().plusWeeks(1); RangeUnit unit = mock(RangeUnit.class); when(unit.next()).thenReturn(true); when(unit.getFrom()).thenReturn(from); mCalendarManager.setUnit(unit); boolean result = mCalendarManager.next(); assertTrue(result); InOrder order = inOrder(unit); order.verify(unit).next(); order.verify(unit).select(mCalendarManager.getSelectedDay()); assertEquals(from.withDayOfMonth(1), mCalendarManager.getActiveMonth()); }