package Ġcch cc . learn . amu . e 0 2 Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġandroidx . test . espress o . Esp ress o Ċ import Ġandroidx . test . espress o . action . View Actions Ċ import Ġandroidx . test . espress o . assertion . View Assertions . matches Ċ import Ġandroidx . test . espress o . matcher . View Matchers .* Ċ import Ġandroidx . test . ext . junit . runners . Android JUnit 4 Ċ import Ġandroidx . test . rule . Activity Test Rule Ċ import Ġcch cc . learn . amu . Fragment Test Activity Ċ import Ġcch cc . learn . amu . R Ċ import Ġcch cc . learn . amu . util . View Actions Ex Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ class ĠE 0 2 Fragment Test Ġ{ ĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġval Ġrule Ġ= Ġobject Ġ: ĠActivity Test Rule < Fragment Test Activity >( Fragment Test Activity :: class . java ) Ġ{} ĊĊĠĠĠ Ġprivate Ġfun Ġjust True () Ġ= Ġtrue ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġset Fragment () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// Ġgiven ĊĠĠĠĠĠĠĠ Ġval Ġcreate VM Factory Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠViewModel Provider . Factory Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel ?> Ġcreate ( model Class : ĠClass < T >): ĠT Ġ= ĠE 0 2 ViewModel (:: just True ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspeed Of Anim . value Ġ= Ġ 1 0 . 0 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġas ĠT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġrule . activity . replace Fragment ( E 0 2 Fragment . newInstance ( create VM Factory )) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġscore _ should _ increase _ when _ success () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ ĠE sp ress o . on View ( with Id ( R . id . bt _ try )). perform ( View Actions . click ()) ĊĠĠĠĠĠĠĠ ĠE sp ress o . on View ( is Root ()). perform ( View Actions Ex . waiting ( 1 0 0 0 )) Ġ// Ġwaiting Ġto Ġend Ġanimation ĊĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠString . format ( rule . activity . resources . getString ( R . string . e 0 2 _ score _ format ), Ġ 1 ) ĊĠĠĠĠĠĠĠ ĠE sp ress o . on View ( with Id ( R . id . tv _ score )). check ( matches ( with Text ( expected ))) ĊĠĠĠ Ġ} ĊĊ Ċ }