LoadingPresenter { public void start() { loadingView.showProgress(); currentSubscription = locationRepository.getCurrentLocation().subscribe(location -> { loadingView.navigateToToilets(location); }, throwable -> { if (throwable instanceof SecurityException) { loadingView.showRequestLocationPermission(); } else { Timber.e(throwable, throwable.getMessage()); } }); } LoadingPresenter(LoadingView loadingView, LocationRepository locationRepository); void start(); void stop(); void locationPermissionSuccess(); void locationPermissionFailed(); void locationEnabledSuccess(); void locationEnabledFailed();  }
@Test public void start() throws Exception { loadingPresenter.start(); verify(loadingView).showProgress(); verify(loadingView).navigateToToilets(LOCATION); }