package Ġcl . du oc . ej emp lor oom . room Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Log Ċ import Ġandroidx . arch . core . executor . testing . Instant Task Executor Rule Ċ import Ġandroidx . room . Room Ċ import Ġandroidx . test . core . app . Application Provider Ċ import Ġandroidx . test . ext . junit . runners . Android JUnit 4 Ċ import Ġandroidx . test . filters . Small Test Ċ import Ġcl . du oc . ej emp lor oom . get Or Await Value Ċ import Ġcl . du oc . ej emp lor oom . model . Mensaje Ċ import Ġcom . google . common . truth . Truth Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġkotlinx . coroutines . test . run Blocking Test Ċ import Ġorg . junit . Assert .* Ċ Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ Ċ @ Experimental Cor outines Api Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ @ Small Test Ċ class ĠM ensaje Database Test Ġ{ ĊĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġvar Ġinstant Task Executor Rule Ġ= ĠInstant Task Executor Rule () ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdb : ĠM ensaje Database ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdao : ĠM ensaje Dao ĊĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= ĠApplication Provider . getApplicationContext < Context >() ĊĠĠĠĠĠĠĠ Ġdb Ġ= ĠRoom . in Memory Database Builder ( context , Mensaje Database :: class . java ). build () ĊĠĠĠĠĠĠĠ Ġdao Ġ= Ġdb . mensaje Dao () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After ĊĠĠĠ Ġfun ĠtearDown () Ġ{ ĊĠĠĠĠĠĠĠ Ġdb . close () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ ag regar () Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġm ensaje : Mensaje Ġ= ĠM ensaje (" Pr ueba ") ĊĠĠĠĠĠĠĠ Ġdao . ag regar ( mensaje ) ĊĊĠĠĠĠĠĠĠ Ġval Ġm Test Ġ= Ġdao . bus car ( 1 ). get Or Await Value () ĊĠĠĠĠĠĠĠ ĠTr uth . assertThat ( m Test . contenido ). isEqualTo ( mensaje . contenido ) ĊĠĠĠĠĠĠĠ Ġ// id ĠNO Ġes Ġautogenerated ĊĠĠĠĠĠĠĠ Ġ// val Ġlista Ġ= Ġdao . list ar (). get Or Await Value () ĊĠĠĠĠĠĠĠ Ġ// Truth . assertThat ( lista ). contains ( mensaje ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ delete () Ġ= Ġrun Blocking Test Ġ{ Ċ Ċ // ĠĠĠĠĠĠĠ Ġfor ( i Ġin Ġgener ar Lista ()) Ċ // ĠĠĠĠĠĠĠ Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġdao . ag regar ( i ) Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġm : Mensaje Ġ= ĠM ensaje (" Pr ueba ĠE limin ar ") ĊĠĠĠĠĠĠĠ Ġdao . ag regar ( m ) ĊĠĠĠĠĠĠĠ Ġdao . elim inar ( m ) ĊĊĠĠĠĠĠĠĠ Ġval Ġlista Ġ= Ġdao . list ar (). get Or Await Value () ĊĠĠĠĠĠĠĠ Ġ// Log . d (" lista ", lista . toString ()) ĊĠĠĠĠĠĠĠ ĠTr uth . assertThat ( lista ). does Not Contain ( m ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// EJ EMP LO ĠEX TRA ĊĠĠĠ Ġprivate Ġfun Ġgener ar Lista () Ġ: ĠList < Mensaje > ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġlista : ArrayList < Mensaje > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. 1 0 ) ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġm Ġ= ĠM ensaje (" cont endo Ġ$ i ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlista . add ( m ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġlista ĊĠĠĠ Ġ} Ċ }