test_class.declarator: mMainPresenter
test_class.modifier: private
test_class.original_string: private MainPresenter mMainPresenter;
test_class.type: MainPresenter
test_class.var_name: mMainPresenter
test_class.declarator: mEventBus
test_class.modifier: private
test_class.original_string: private RxEventBus mEventBus;
test_class.type: RxEventBus
test_class.var_name: mEventBus
test_class.declarator: mMockMainMvpView
test_class.modifier: @Mock
test_class.original_string: @Mock MainMvpView mMockMainMvpView;
test_class.type: MainMvpView
test_class.var_name: mMockMainMvpView
test_class.declarator: mMockDataManager
test_class.modifier: @Mock
test_class.original_string: @Mock DataManager mMockDataManager;
test_class.type: DataManager
test_class.var_name: mMockDataManager
test_class.declarator: mOverrideSchedulersRule = new RxSchedulersOverrideRule()
test_class.modifier: @Rule
      public final
test_class.original_string: @Rule
      public final RxSchedulersOverrideRule mOverrideSchedulersRule = new RxSchedulersOverrideRule();
test_class.type: RxSchedulersOverrideRule
test_class.var_name: mOverrideSchedulersRule
test_class.file: app/src/test/java/com/hitherejoe/mondroid/ui/main/MainPresenterTest.java
test_class.identifier: MainPresenterTest
test_case.body: @Test
      public void getAccountDataFailsAndShowsErrorMessage() {
          stubDataManagerGetAccountDetails(Single.<DataManager.AccountData>error(new RuntimeException()));
          mMainPresenter.getAccountData();
  
          verify(mMockMainMvpView).showProgress(true);
          verify(mMockMainMvpView).showAccountError();
          verify(mMockMainMvpView, never()).showEmptyTransactions();
          verify(mMockMainMvpView, never()).showBalance(any(Balance.class));
          verify(mMockMainMvpView, never()).showTransactions(anyListOf(Transaction.class));
          verify(mMockMainMvpView).showProgress(false);
      }
test_case.class_method_signature: MainPresenterTest.getAccountDataFailsAndShowsErrorMessage()
test_case.full_signature: @Test public void getAccountDataFailsAndShowsErrorMessage()
test_case.identifier: getAccountDataFailsAndShowsErrorMessage
test_case.invocations: stubDataManagerGetAccountDetails error getAccountData showProgress verify showAccountError verify showEmptyTransactions verify never showBalance verify never any showTransactions verify never anyListOf showProgress verify
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void getAccountDataFailsAndShowsErrorMessage()
focal_class.declarator: mDataManager
focal_class.modifier: private final
focal_class.original_string: private final DataManager mDataManager;
focal_class.type: DataManager
focal_class.var_name: mDataManager
focal_class.declarator: mEventBus
focal_class.modifier: private final
focal_class.original_string: private final RxEventBus mEventBus;
focal_class.type: RxEventBus
focal_class.var_name: mEventBus
focal_class.declarator: mCompositeSubscription
focal_class.modifier: private
focal_class.original_string: private CompositeSubscription mCompositeSubscription;
focal_class.type: CompositeSubscription
focal_class.var_name: mCompositeSubscription
focal_class.file: app/src/main/java/com/hitherejoe/mondroid/ui/main/MainPresenter.java
focal_class.identifier: MainPresenter
focal_class.class_method_signature: MainPresenter.MainPresenter(DataManager dataManager, RxEventBus rxEventBus)
focal_class.full_signature: @Inject public  MainPresenter(DataManager dataManager, RxEventBus rxEventBus)
focal_class.identifier: MainPresenter
focal_class.modifiers: @Inject public
focal_class.parameters: (DataManager dataManager, RxEventBus rxEventBus)
focal_class.signature:  MainPresenter(DataManager dataManager, RxEventBus rxEventBus)
focal_class.class_method_signature: MainPresenter.attachView(MainMvpView mvpView)
focal_class.full_signature: @Override public void attachView(MainMvpView mvpView)
focal_class.identifier: attachView
focal_class.modifiers: @Override public
focal_class.parameters: (MainMvpView mvpView)
focal_class.return: void
focal_class.signature: void attachView(MainMvpView mvpView)
focal_class.class_method_signature: MainPresenter.detachView()
focal_class.full_signature: @Override public void detachView()
focal_class.identifier: detachView
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void detachView()
focal_class.class_method_signature: MainPresenter.getAccountData()
focal_class.full_signature: public void getAccountData()
focal_class.identifier: getAccountData
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void getAccountData()
focal_class.class_method_signature: MainPresenter.signOut()
focal_class.full_signature: public void signOut()
focal_class.identifier: signOut
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void signOut()
focal_class.superclass: extends BasePresenter<MainMvpView>
focal_method.body: public void getAccountData() {
          checkViewAttached();
          getMvpView().showProgress(true);
          mCompositeSubscription.add(mDataManager.getAccountDetails()
                  .observeOn(AndroidSchedulers.mainThread())
                  .subscribeOn(Schedulers.io())
                  .subscribe(new SingleSubscriber<DataManager.AccountData>() {
                      @Override
                      public void onSuccess(DataManager.AccountData accountData) {
                          getMvpView().showProgress(false);
                          if (accountData.transactions != null &&
                                  !accountData.transactions.isEmpty()) {
                              getMvpView().showTransactions(accountData.transactions);
                          } else {
                              getMvpView().showEmptyTransactions();
                          }
                          getMvpView().showBalance(accountData.balance);
                      }
  
                      @Override
                      public void onError(Throwable error) {
                          getMvpView().showProgress(false);
                          getMvpView().showAccountError();
                          error.printStackTrace();
                          Timber.e("There was an error retrieving the account data...");
                      }
                  }));
      }
focal_method.class_method_signature: MainPresenter.getAccountData()
focal_method.full_signature: public void getAccountData()
focal_method.identifier: getAccountData
focal_method.invocations: checkViewAttached showProgress getMvpView add subscribe subscribeOn observeOn getAccountDetails mainThread io showProgress getMvpView isEmpty showTransactions getMvpView showEmptyTransactions getMvpView showBalance getMvpView showProgress getMvpView showAccountError getMvpView printStackTrace e
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: void
focal_method.signature: void getAccountData()