test_class.declarator: instantTaskExecutorRule = new InstantTaskExecutorRule()
test_class.modifier: @Rule
  	public
test_class.original_string: @Rule
  	public InstantTaskExecutorRule instantTaskExecutorRule = new InstantTaskExecutorRule();
test_class.type: InstantTaskExecutorRule
test_class.var_name: instantTaskExecutorRule
test_class.declarator: usecase
test_class.modifier: @Mock
test_class.original_string: @Mock
  	GetNewsUseCase<NewsUI> usecase;
test_class.type: GetNewsUseCase<NewsUI>
test_class.var_name: usecase
test_class.declarator: pagedList
test_class.modifier: @Mock
test_class.original_string: @Mock
  	PagedList<NewsUI> pagedList;
test_class.type: PagedList<NewsUI>
test_class.var_name: pagedList
test_class.declarator: viewModel
test_class.modifier: private
test_class.original_string: private NewsViewModel viewModel;
test_class.type: NewsViewModel
test_class.var_name: viewModel
test_class.file: presentation/src/test/java/com/ezz/presentation/viewmodel/news/NewsViewModelTest.java
test_class.identifier: NewsViewModelTest
test_case.body: @Test
  	public void verify_create_paged_list_called_only_once_in_success() throws InterruptedException {
  		when(usecase.getNewsPagedList()).thenReturn(Observable.just(pagedList));
  		verify(usecase, times(0)).getNewsPagedList();
  		viewModel.createNewsPagedList();
  		verify(usecase, times(1)).getNewsPagedList();
  		viewModel.createNewsPagedList();
  		verify(usecase, times(1)).getNewsPagedList();
  	}
test_case.class_method_signature: NewsViewModelTest.verify_create_paged_list_called_only_once_in_success()
test_case.full_signature: @Test public void verify_create_paged_list_called_only_once_in_success()
test_case.identifier: verify_create_paged_list_called_only_once_in_success
test_case.invocations: thenReturn when getNewsPagedList just getNewsPagedList verify times createNewsPagedList getNewsPagedList verify times createNewsPagedList getNewsPagedList verify times
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void verify_create_paged_list_called_only_once_in_success()
focal_class.declarator: newsUseCase
focal_class.modifier: private
focal_class.original_string: private GetNewsUseCase<NewsUI> newsUseCase;
focal_class.type: GetNewsUseCase<NewsUI>
focal_class.var_name: newsUseCase
focal_class.declarator: pagingState
focal_class.modifier: private
focal_class.original_string: private PagingState pagingState;
focal_class.type: PagingState
focal_class.var_name: pagingState
focal_class.declarator: newsPagedListLiveData = new MutableLiveData<>()
focal_class.modifier: private
focal_class.original_string: private MutableLiveData<PagedList<NewsUI>> newsPagedListLiveData = new MutableLiveData<>();
focal_class.type: MutableLiveData<PagedList<NewsUI>>
focal_class.var_name: newsPagedListLiveData
focal_class.declarator: loadNewsStats = new SingleLiveEvent<>()
focal_class.modifier: private
focal_class.original_string: private SingleLiveEvent<DataStatus> loadNewsStats = new SingleLiveEvent<>();
focal_class.type: SingleLiveEvent<DataStatus>
focal_class.var_name: loadNewsStats
focal_class.declarator: pagingDataStatus = new MutableLiveData<>()
focal_class.modifier: private
focal_class.original_string: private MutableLiveData<DataStatus> pagingDataStatus = new MutableLiveData<>();
focal_class.type: MutableLiveData<DataStatus>
focal_class.var_name: pagingDataStatus
focal_class.file: presentation/src/main/java/com/ezz/presentation/viewmodel/news/NewsViewModel.java
focal_class.identifier: NewsViewModel
focal_class.class_method_signature: NewsViewModel.NewsViewModel(@Named(value = IO_SCHEDULER) Scheduler subscribeOn, @Named(value = MAIN_THREAD_SCHEDULER) Scheduler observeOn, GetNewsUseCase<NewsUI> newsUsecase, PagingState pagingState)
focal_class.full_signature: @Inject  NewsViewModel(@Named(value = IO_SCHEDULER) Scheduler subscribeOn, @Named(value = MAIN_THREAD_SCHEDULER) Scheduler observeOn, GetNewsUseCase<NewsUI> newsUsecase, PagingState pagingState)
focal_class.identifier: NewsViewModel
focal_class.modifiers: @Inject
focal_class.parameters: (@Named(value = IO_SCHEDULER) Scheduler subscribeOn, @Named(value = MAIN_THREAD_SCHEDULER) Scheduler observeOn, GetNewsUseCase<NewsUI> newsUsecase, PagingState pagingState)
focal_class.signature:  NewsViewModel(@Named(value = IO_SCHEDULER) Scheduler subscribeOn, @Named(value = MAIN_THREAD_SCHEDULER) Scheduler observeOn, GetNewsUseCase<NewsUI> newsUsecase, PagingState pagingState)
focal_class.class_method_signature: NewsViewModel.createNewsPagedList()
focal_class.full_signature: public void createNewsPagedList()
focal_class.identifier: createNewsPagedList
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void createNewsPagedList()
focal_class.class_method_signature: NewsViewModel.loadNews(int pageNumber)
focal_class.full_signature: public void loadNews(int pageNumber)
focal_class.identifier: loadNews
focal_class.modifiers: public
focal_class.parameters: (int pageNumber)
focal_class.return: void
focal_class.signature: void loadNews(int pageNumber)
focal_class.class_method_signature: NewsViewModel.getNewsPagedListLiveData()
focal_class.full_signature: public LiveData<PagedList<NewsUI>> getNewsPagedListLiveData()
focal_class.identifier: getNewsPagedListLiveData
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: LiveData<PagedList<NewsUI>>
focal_class.signature: LiveData<PagedList<NewsUI>> getNewsPagedListLiveData()
focal_class.class_method_signature: NewsViewModel.getLoadNewsStats()
focal_class.full_signature: public SingleLiveEvent<DataStatus> getLoadNewsStats()
focal_class.identifier: getLoadNewsStats
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: SingleLiveEvent<DataStatus>
focal_class.signature: SingleLiveEvent<DataStatus> getLoadNewsStats()
focal_class.class_method_signature: NewsViewModel.getPagingDataStatus()
focal_class.full_signature: public LiveData<DataStatus> getPagingDataStatus()
focal_class.identifier: getPagingDataStatus
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: LiveData<DataStatus>
focal_class.signature: LiveData<DataStatus> getPagingDataStatus()
focal_class.class_method_signature: NewsViewModel.getPagingState()
focal_class.full_signature: public PagingState getPagingState()
focal_class.identifier: getPagingState
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: PagingState
focal_class.signature: PagingState getPagingState()
focal_class.superclass: extends BaseViewModel
focal_method.body: public void createNewsPagedList() {
  		if (newsPagedListLiveData.getValue() == null){
  			execute(
  			disposable -> pagingDataStatus.postValue(DataStatus.LOADING),
  			newsUIPagedList -> {
  				newsPagedListLiveData.postValue(newsUIPagedList);
  				pagingDataStatus.setValue(DataStatus.SUCCESS);
  			},
  			throwable -> pagingDataStatus.postValue(DataStatus.ERROR),
  			newsUseCase.getNewsPagedList()
  			);
  		}
  	}
focal_method.class_method_signature: NewsViewModel.createNewsPagedList()
focal_method.full_signature: public void createNewsPagedList()
focal_method.identifier: createNewsPagedList
focal_method.invocations: getValue execute postValue postValue setValue postValue getNewsPagedList
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: void
focal_method.signature: void createNewsPagedList()