test_class.declarator: mWelcomePresenter
test_class.modifier: private
test_class.original_string: private WelcomePresenter mWelcomePresenter;
test_class.type: WelcomePresenter
test_class.var_name: mWelcomePresenter
test_class.declarator: mMockWelcomeMvpView
test_class.modifier: @Mock
test_class.original_string: @Mock WelcomeMvpView mMockWelcomeMvpView;
test_class.type: WelcomeMvpView
test_class.var_name: mMockWelcomeMvpView
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/welcome/WelcomePresenterTest.java
test_class.identifier: WelcomePresenterTest
test_case.body: @Test
      public void getAccountDataFailsAndShowsErrorMessage() {
          stubDataManagerGetAccessToken(Single.<AccessToken>error(new RuntimeException()));
          mWelcomePresenter.getAccessToken("code");
  
          verify(mMockWelcomeMvpView).showLoadingState(true);
          verify(mMockWelcomeMvpView).showAccessTokenError();
          verify(mMockWelcomeMvpView, never()).launchMainActivity();
          verify(mMockWelcomeMvpView).showLoadingState(false);
      }
test_case.class_method_signature: WelcomePresenterTest.getAccountDataFailsAndShowsErrorMessage()
test_case.full_signature: @Test public void getAccountDataFailsAndShowsErrorMessage()
test_case.identifier: getAccountDataFailsAndShowsErrorMessage
test_case.invocations: stubDataManagerGetAccessToken error getAccessToken showLoadingState verify showAccessTokenError verify launchMainActivity verify never showLoadingState 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: mSubscription
focal_class.modifier: private
focal_class.original_string: private Subscription mSubscription;
focal_class.type: Subscription
focal_class.var_name: mSubscription
focal_class.file: app/src/main/java/com/hitherejoe/mondroid/ui/welcome/WelcomePresenter.java
focal_class.identifier: WelcomePresenter
focal_class.class_method_signature: WelcomePresenter.WelcomePresenter(DataManager dataManager)
focal_class.full_signature: @Inject public  WelcomePresenter(DataManager dataManager)
focal_class.identifier: WelcomePresenter
focal_class.modifiers: @Inject public
focal_class.parameters: (DataManager dataManager)
focal_class.signature:  WelcomePresenter(DataManager dataManager)
focal_class.class_method_signature: WelcomePresenter.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: WelcomePresenter.getAccessToken(String code)
focal_class.full_signature: public void getAccessToken(String code)
focal_class.identifier: getAccessToken
focal_class.modifiers: public
focal_class.parameters: (String code)
focal_class.return: void
focal_class.signature: void getAccessToken(String code)
focal_class.superclass: extends BasePresenter<WelcomeMvpView>
focal_method.body: public void getAccessToken(String code) {
          checkViewAttached();
          getMvpView().showLoadingState(true);
          mSubscription = mDataManager.getAccessToken(code)
                  .subscribeOn(Schedulers.io())
                  .observeOn(AndroidSchedulers.mainThread())
                  .subscribe(new SingleSubscriber<AccessToken>() {
                      @Override
                      public void onSuccess(AccessToken accessToken) {
                          getMvpView().showLoadingState(false);
                          getMvpView().launchMainActivity();
                      }
  
                      @Override
                      public void onError(Throwable error) {
                          getMvpView().showLoadingState(false);
                          Timber.e(error, "There was a problem retrieving the access token");
                          getMvpView().showAccessTokenError();
                      }
                  });
      }
focal_method.class_method_signature: WelcomePresenter.getAccessToken(String code)
focal_method.full_signature: public void getAccessToken(String code)
focal_method.identifier: getAccessToken
focal_method.invocations: checkViewAttached showLoadingState getMvpView subscribe observeOn subscribeOn getAccessToken io mainThread showLoadingState getMvpView launchMainActivity getMvpView showLoadingState getMvpView e showAccessTokenError getMvpView
focal_method.modifiers: public
focal_method.parameters: (String code)
focal_method.return: void
focal_method.signature: void getAccessToken(String code)