package Ġcom . example . news ly . view model Ċ Ċ import Ġandroidx . arch . core . executor . testing . Instant Task Executor Rule Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġcom . example . news ly . model . Top St ories Ċ import Ġcom . example . news ly . model . Results Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ Ċ import Ġorg . junit . Assert .* Ċ import Ġorg . junit . Rule Ċ import Ġorg . mockito . Mockito Annotations Ċ Ċ class ĠMain ViewModel Test Ġ{ ĊĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġval Ġinstant Task Executor Rule Ġ= ĠInstant Task Executor Rule () ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠviewModel Ġ: ĠMain ViewModel ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġresults : ĠResults ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ ĠMockito Annotations . init Mocks ( this ) ĊĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠMain ViewModel () ĊĊĠĠĠĠĠĠĠ Ġcreate Results () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Results () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtop St ories Ġ= ĠArrayList < Top St ories >() ĊĠĠĠĠĠĠĠ Ġtop St ories . add ( Top St ories ( section Ġ= Ġ" foo ", Ġtitle Ġ= Ġ" bar ", Ġurl Ġ= Ġ" b izz ", Ġby line Ġ= Ġ" h oo ", Ġmult imedia Ġ= Ġnull )) ĊĠĠĠĠĠĠĠ Ġresults . results Ġ= Ġtop St ories . toArray ( Top St ories :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After ĊĠĠĠ Ġfun ĠtearDown () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget St ories () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġempty Observer Ġ= ĠObserver < Results > Ġ{} ĊĠĠĠĠĠĠĠ Ġ// viewModel . news Observer . observe Fore ver ( empty Observer ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( viewModel Ġ!= Ġnull ) ĊĠĠĠ Ġ} Ċ }