@Test
  public void onPageChange_shouldSendAnalyticsPageChangeEvent() throws Exception {
    int expectPage = 2;
    long expectPageDuration = 1000;
    TimeUnit expectTimeUnit = TimeUnit.MILLISECONDS;

    when(view.getCurrentPage()).thenReturn(expectPage);

    presenter.onCreate(mockGraph, view);
    presenter.onResume();
    Thread.sleep(expectPageDuration);
    presenter.onPageSelected(3);

    verify(mockGraph.analytics())
        .onMoviesListPageChanged(
            pageNameCaptor.capture(), durationCaptor.capture(), timeUnitCaptor.capture());

    assertThat(pageNameCaptor.getValue()).isEqualTo(presenter.getPageType(expectPage).toString());

    assertThat(durationCaptor.getValue()).isIn(Range.open(990L, 1010L));

    assertThat(timeUnitCaptor.getValue()).isEqualTo(expectTimeUnit);
  }