test_class.declarator: repoListMapper
test_class.modifier: @Inject
      protected
test_class.original_string: @Inject
      protected RepoListMapper repoListMapper;
test_class.type: RepoListMapper
test_class.var_name: repoListMapper
test_class.declarator: model
test_class.modifier: @Inject
      protected
test_class.original_string: @Inject
      protected Model model;
test_class.type: Model
test_class.var_name: model
test_class.declarator: repoList
test_class.modifier: @Inject
      protected
test_class.original_string: @Inject
      protected List<Repository> repoList;
test_class.type: List<Repository>
test_class.var_name: repoList
test_class.declarator: repositoryDTOs
test_class.modifier: @Inject
      protected
test_class.original_string: @Inject
      protected List<RepositoryDTO> repositoryDTOs;
test_class.type: List<RepositoryDTO>
test_class.var_name: repositoryDTOs
test_class.declarator: mockView
test_class.modifier: private
test_class.original_string: private RepoListView mockView;
test_class.type: RepoListView
test_class.var_name: mockView
test_class.declarator: repoListPresenter
test_class.modifier: private
test_class.original_string: private RepoListPresenter repoListPresenter;
test_class.type: RepoListPresenter
test_class.var_name: repoListPresenter
test_class.declarator: activityCallback
test_class.modifier: private
test_class.original_string: private ActivityCallback activityCallback;
test_class.type: ActivityCallback
test_class.var_name: activityCallback
test_class.file: app/src/test/java/com/andrey7mel/stepbystep/presenter/RepoListPresenterTest.java
test_class.identifier: RepoListPresenterTest
test_class.superclass: extends BaseTest
test_case.body: @Test
      public void testLoadNullData() {
          doAnswer(invocation -> Observable.just(null))
                  .when(model)
                  .getRepoList(TestConst.TEST_OWNER);
  
          repoListPresenter.onSearchButtonClick();
  
          verify(mockView).showEmptyList();
      }
test_case.class_method_signature: RepoListPresenterTest.testLoadNullData()
test_case.full_signature: @Test public void testLoadNullData()
test_case.identifier: testLoadNullData
test_case.invocations: getRepoList when doAnswer just onSearchButtonClick showEmptyList verify
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testLoadNullData()
focal_class.declarator: BUNDLE_REPO_LIST_KEY = "BUNDLE_REPO_LIST_KEY"
focal_class.modifier: private static final
focal_class.original_string: private static final String BUNDLE_REPO_LIST_KEY = "BUNDLE_REPO_LIST_KEY";
focal_class.type: String
focal_class.var_name: BUNDLE_REPO_LIST_KEY
focal_class.declarator: repoListMapper
focal_class.modifier: @Inject
      protected
focal_class.original_string: @Inject
      protected RepoListMapper repoListMapper;
focal_class.type: RepoListMapper
focal_class.var_name: repoListMapper
focal_class.declarator: view
focal_class.modifier: private
focal_class.original_string: private RepoListView view;
focal_class.type: RepoListView
focal_class.var_name: view
focal_class.declarator: repoList
focal_class.modifier: private
focal_class.original_string: private List<Repository> repoList;
focal_class.type: List<Repository>
focal_class.var_name: repoList
focal_class.file: app/src/main/java/com/andrey7mel/stepbystep/presenter/RepoListPresenter.java
focal_class.identifier: RepoListPresenter
focal_class.class_method_signature: RepoListPresenter.RepoListPresenter()
focal_class.full_signature: @Inject public  RepoListPresenter()
focal_class.identifier: RepoListPresenter
focal_class.modifiers: @Inject public
focal_class.parameters: ()
focal_class.signature:  RepoListPresenter()
focal_class.class_method_signature: RepoListPresenter.RepoListPresenter(RepoListView view)
focal_class.full_signature: public  RepoListPresenter(RepoListView view)
focal_class.identifier: RepoListPresenter
focal_class.modifiers: public
focal_class.parameters: (RepoListView view)
focal_class.signature:  RepoListPresenter(RepoListView view)
focal_class.class_method_signature: RepoListPresenter.getView()
focal_class.full_signature: @Override protected View getView()
focal_class.identifier: getView
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: View
focal_class.signature: View getView()
focal_class.class_method_signature: RepoListPresenter.onSearchButtonClick()
focal_class.full_signature: public void onSearchButtonClick()
focal_class.identifier: onSearchButtonClick
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void onSearchButtonClick()
focal_class.class_method_signature: RepoListPresenter.onCreateView(Bundle savedInstanceState)
focal_class.full_signature: public void onCreateView(Bundle savedInstanceState)
focal_class.identifier: onCreateView
focal_class.modifiers: public
focal_class.parameters: (Bundle savedInstanceState)
focal_class.return: void
focal_class.signature: void onCreateView(Bundle savedInstanceState)
focal_class.class_method_signature: RepoListPresenter.isRepoListNotEmpty()
focal_class.full_signature: private boolean isRepoListNotEmpty()
focal_class.identifier: isRepoListNotEmpty
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isRepoListNotEmpty()
focal_class.class_method_signature: RepoListPresenter.onSaveInstanceState(Bundle outState)
focal_class.full_signature: public void onSaveInstanceState(Bundle outState)
focal_class.identifier: onSaveInstanceState
focal_class.modifiers: public
focal_class.parameters: (Bundle outState)
focal_class.return: void
focal_class.signature: void onSaveInstanceState(Bundle outState)
focal_class.class_method_signature: RepoListPresenter.clickRepo(Repository repository)
focal_class.full_signature: public void clickRepo(Repository repository)
focal_class.identifier: clickRepo
focal_class.modifiers: public
focal_class.parameters: (Repository repository)
focal_class.return: void
focal_class.signature: void clickRepo(Repository repository)
focal_class.superclass: extends BasePresenter
focal_method.body: public void onSearchButtonClick() {
          String name = view.getUserName();
          if (TextUtils.isEmpty(name)) return;
  
          showLoadingState();
          Subscription subscription = model.getRepoList(name)
                  .map(repoListMapper)
                  .subscribe(new Observer<List<Repository>>() {
  
                      @Override
                      public void onCompleted() {
                          hideLoadingState();
                      }
  
                      @Override
                      public void onError(Throwable e) {
                          hideLoadingState();
                          showError(e);
                      }
  
                      @Override
                      public void onNext(List<Repository> list) {
                          if (list != null && !list.isEmpty()) {
                              repoList = list;
                              view.showRepoList(list);
                          } else {
                              view.showEmptyList();
                          }
                      }
                  });
          addSubscription(subscription);
      }
focal_method.class_method_signature: RepoListPresenter.onSearchButtonClick()
focal_method.full_signature: public void onSearchButtonClick()
focal_method.identifier: onSearchButtonClick
focal_method.invocations: getUserName isEmpty showLoadingState subscribe map getRepoList hideLoadingState hideLoadingState showError isEmpty showRepoList showEmptyList addSubscription
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: void
focal_method.signature: void onSearchButtonClick()