package Ġcom . ant ar ik sh c . news . data . local Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . room . Room Ċ import Ġandroidx . test . core . app . Application Provider Ċ import Ġandroidx . test . ext . junit . runners . Android JUnit 4 Ċ import Ġcom . ant ar ik sh c . news . utils . News Factory Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġjava . io . IOException Ċ Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ open Ġclass ĠNews Dao Test Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdb : ĠNews Database ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġnews Dao : ĠNews Dao ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= ĠApplication Provider . getApplicationContext < Context >() ĊĠĠĠĠĠĠĠ Ġdb Ġ= ĠRoom . in Memory Database Builder ( context , ĠNews Database :: class . java ). build () ĊĠĠĠĠĠĠĠ Ġnews Dao Ġ= Ġdb . news Dao () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After ĊĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠ Ġfun ĠtearDown () Ġ{ ĊĠĠĠĠĠĠĠ Ġdb . clear All Tables () ĊĠĠĠĠĠĠĠ Ġdb . close () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġinsert News () Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnews Ġ= ĠNews Factory . random News () ĊĊĠĠĠĠĠĠĠ Ġnews Dao . insert ( news ) ĊĊĠĠĠĠĠĠĠ Ġval Ġnews From Db Ġ= Ġnews Dao . get ( news . id ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( news . id , Ġnews From Db ?. id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġinsert News List () Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnews Ġ= ĠNews Factory . random News List ( 5 ) ĊĊĠĠĠĠĠĠĠ Ġnews Dao . insert ( news ) ĊĊĠĠĠĠĠĠĠ Ġval Ġnews From Db Ġ= Ġnews Dao . get News () ĊĠĠĠĠĠĠĠ ĠassertEquals ( true , Ġnews From Db . contains All ( news )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdelete All News () Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnews Ġ= ĠNews Factory . random News List ( 5 ) ĊĠĠĠĠĠĠĠ Ġnews Dao . insert ( news ) ĊĊĠĠĠĠĠĠĠ Ġnews Dao . delete All () ĊĊĠĠĠĠĠĠĠ Ġval Ġnews From Db Ġ= Ġnews Dao . get News () ĊĠĠĠĠĠĠĠ ĠassertEquals ( true , Ġnews From Db . isEmpty ()) ĊĠĠĠ Ġ} Ċ }