package Ġcom . example . android . code labs . navigation . database Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . room . Room Ċ import Ġandroidx . test . core . app . Application Provider Ċ import Ġkotlinx . coroutines . Coroutine Scope Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . launch Ċ import Ġorg . hamcrest . Easy Mock 2 Matchers . equalTo Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Test Ċ Ċ import Ġorg . junit . Assert .* Ċ import Ġorg . junit . Before Ċ import Ġjava . io . IOException Ċ Ċ class ĠContact Repository Test Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrepository : ĠContact Repository ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġcreate Db () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= ĠApplication Provider . getApplicationContext < Context >() ĊĊĠĠĠĠĠĠĠ Ġval Ġcontact Dao Ġ= ĠContact Database . get Database ( context ). contact Dao () ĊĊĠĠĠĠĠĠĠ Ġrepository Ġ= ĠContact Repository ( contact Dao ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġwrite Contact And Read In List () Ġ{ ĊĠĠĠĠĠĠĠ ĠCor outine Scope ( Dispatch ers . IO ). launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontact Ġ= ĠContact ( 0 , Ġ" test e 1 0 0 0 @ gmail . com ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository . insert ( contact ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġby Name Ġ= Ġrepository . get Contact (" test e @ gmail . com ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( by Name , Ġcontact ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }