    @Test
    public void testScrollAction_pass() {

        //
        //Arrange
        //
        TestObserver<Result> testObserver;
        NowPlayingInteractor nowPlayingInteractor = new NowPlayingInteractor(mockServiceController, filterTransformer);

        List<MovieInfo> movieInfoList = new ArrayList<>();
        for (int i = 0; i < 5; i++) {
            movieInfoList.add(movieInfo);
        }
        NowPlayingInfo nowPlayingInfo = new NowPlayingInfoImpl(movieInfoList, pageNumber,
                totalPageNumber);

        when(mockServiceController.getNowPlaying(anyInt())).thenReturn(
                Observable.just(nowPlayingInfo));

        //
        //Act
        //
        testObserver = nowPlayingInteractor.processAction(
                Observable.just((Action) new ScrollAction(pageNumber))).test();
        testScheduler.advanceTimeBy(4, TimeUnit.SECONDS);
        testScheduler.triggerActions();

        //
        //Assert
        //
        testObserver.assertNoErrors();
        testObserver.assertValueCount(2);

        //IN_FLIGHT Test
        Result result = (Result) testObserver.getEvents().get(0).get(0);
        assertThat(result).isNotNull();
        assertThat(result).isInstanceOf(ScrollResult.class);

        ScrollResult scrollResult = (ScrollResult) result;
        assertThat(scrollResult.getPageNumber()).isEqualTo(pageNumber);
        assertThat(scrollResult.getError()).isNull();
        assertThat(scrollResult.getResult()).isNull();
        assertThat(scrollResult.getType()).isEqualTo(Result.ResultType.IN_FLIGHT);

        //SUCCESS
        Result resultSuccess = (Result) testObserver.getEvents().get(0).get(1);
        assertThat(resultSuccess).isNotNull();
        assertThat(resultSuccess).isInstanceOf(ScrollResult.class);

        ScrollResult scrollResultSuccess = (ScrollResult) resultSuccess;
        assertThat(scrollResultSuccess.getPageNumber()).isEqualTo(pageNumber);
        assertThat(scrollResultSuccess.getError()).isNull();
        assertThat(scrollResultSuccess.getResult()).isNotEmpty();
        assertThat(scrollResultSuccess.getResult()).hasSize(5);
        assertThat(scrollResultSuccess.getType()).isEqualTo(Result.ResultType.SUCCESS);

        for (int i =0; i < 5; i++) {
            assertThat(scrollResultSuccess.getResult().get(i)).isEqualTo(movieInfo);
        }
    }