@Test
public void userRetryGetsExchangeRateOrPurchase() throws Exception {

    presenter = new CurrencyExchangeRateEditorPresenter(currencyExchangeRateEditorView, receiptPricingView, currencyListEditorView, receiptDateView, exchangeRateServiceManager, databaseHelper, trip, null, null, Schedulers.trampoline(), Schedulers.trampoline(), Schedulers.trampoline());
    presenter.subscribe();
    currencyClicks.onNext(1);
    receiptDateChanges.onNext(new Date(200L));
    currencyClicks.onNext(2);
    userInitiatedExchangeRateRetries.onNext(new Object());
    currencyClicks.onNext(1);
    receiptDateChanges.onNext(new Date(100L));
    verify(displayExchangeRateConsumer, atLeastOnce()).accept(UiIndicator.success(EXCHANGE_RATE));
    verify(exchangeRateServiceManager).getExchangeRateOrInitiatePurchase(any(Date.class), anyString(), anyString());
}