package Ġua . d gor od . example . data Ċ Ċ import Ġandroid . arch . core . executor . testing . Instant Task Executor Rule Ċ import Ġandroid . arch . persistence . room . Room Ċ import Ġandroid . support . test . Instrumentation Registry Ċ import Ġandroid . support . test . runner . Android JUnit 4 Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġua . d gor od . example . data . db . My Database Ċ import Ġua . d gor od . example . data . db . entity . Image Entity Ċ import Ġua . d gor od . example . data . db . entity . Photo Entity Ċ Ċ /** Ċ Ġ* Ċ Ġ* Ġ@ author ĠD my tro ĠG or od ny ts ky i Ċ Ġ* Ġon Ġ 1 4 - Dec - 1 7 . Ċ Ġ*/ Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ class ĠSimple Photo Dao Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġtest Photo Id Ġ= Ġ 1 0 0 L ĊĠĠĠ Ġprivate Ġval Ġtest Name Ġ= Ġ" some Ġtester " ĊĠĠĠ Ġprivate Ġval Ġtest ImageUrl Ġ= Ġ" http :// www . something . com " ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdatabase : ĠMy Database ĊĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġval Ġinstant Task Executor Rule Ġ= ĠInstant Task Executor Rule () ĊĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġinit Db () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= ĠInstrument ation Registry . getContext () ĊĠĠĠĠĠĠĠ Ġval Ġdb Class Ġ= ĠMy Database :: class . java ĊĠĠĠĠĠĠĠ Ġdatabase Ġ= ĠRoom . in Memory Database Builder ( context , Ġdb Class ). allow MainThread Queries (). build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġ@ After ĊĠĠĠ Ġfun Ġclose Db () Ġ{ ĊĠĠĠĠĠĠĠ Ġdatabase . close () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġinsert AndGet Photo ById () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtest Photo Ġ= ĠPhoto Entity ( test Photo Id , Ġtest Name , Ġ" d gor od ", Ġ" S ony ", Ġnull , Ġ 1 . 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġtest Image Ġ= ĠImage Entity ( test ImageUrl , ĠPhoto Sizes . SMALL , Ġtest Photo Id ) ĊĊĠĠĠĠĠĠĠ Ġdatabase . photos (). insert ( test Photo ) ĊĠĠĠĠĠĠĠ Ġdatabase . images (). insert ( test Image ) ĊĊĠĠĠĠĠĠĠ Ġdatabase . photos () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get ( test Photo Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. test () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. assert Value Ġ{ Ġtest Photo Entity ( it . photo ) Ġ&& Ġtest Image Entity ( it . links ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtest Photo Entity ( result : ĠPhoto Entity ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġresult . id Ġ== Ġtest Photo Id Ġ&& Ġresult . name Ġ== Ġtest Name ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtest Image Entity ( result : ĠList < Image Entity >): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġresult . size Ġ== Ġ 1 Ġ&& Ġresult [ 0 ]. url Ġ== Ġtest ImageUrl Ġ&& Ġresult [ 0 ]. photo Id Ġ== Ġtest Photo Id ĊĠĠĠ Ġ} Ċ }