// /* Ċ // Ġ* ĠCopyright Ġ 2 0 1 9 , ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ // Ġ* Ċ // Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ // Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ // Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ // Ġ* Ċ // Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ // Ġ* Ċ // Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ // Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ // Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ // Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ // Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ // Ġ*/ Ċ // Ċ package Ġcom . example . android . track mys leep quality Ċ //// Ċ import Ġandroidx . room . Room Ċ import Ġandroidx . test . ext . junit . runners . Android JUnit 4 Ċ import Ġandroidx . test . platform . app . Instrumentation Registry Ċ import Ġcom . example . android . track mys leep quality . database . Sleep Database Ċ import Ġcom . example . android . track mys leep quality . database . Sleep Database Dao Ċ import Ġcom . example . android . track mys leep quality . database . Sleep Night Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġjava . io . IOException ĊĊ Ċ /** Ċ Ġ* ĠThis Ġis Ġnot Ġmeant Ġto Ġbe Ġa Ġfull Ġset Ġof Ġtests . ĠFor Ġsimplicity , Ġmost Ġof Ġyour Ġsamples Ġdo Ġnot Ċ Ġ* Ġinclude Ġtests . ĠHowever , Ġwhen Ġbuilding Ġthe ĠRoom , Ġit Ġis Ġhelpful Ġto Ġmake Ġsure Ġit Ġworks Ġbefore Ċ Ġ* Ġadding Ġthe ĠUI . Ċ Ġ*/ Ċ Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ class ĠSleep Database Test Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġsleep Dao : ĠSleep Database Dao ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdb : ĠSleep Database ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġcreate Db () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= ĠInstrument ation Registry . get Instrumentation (). target Context ĊĠĠĠĠĠĠĠ Ġ// ĠUsing Ġan Ġin - memory Ġdatabase Ġbecause Ġthe Ġinformation Ġstored Ġhere Ġdis appe ars Ġwhen Ġthe ĊĠĠĠĠĠĠĠ Ġ// Ġprocess Ġis Ġkilled . ĊĠĠĠĠĠĠĠ Ġdb Ġ= ĠRoom . in Memory Database Builder ( context , ĠSleep Database :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAllow ing Ġmain Ġthread Ġqueries , Ġjust Ġfor Ġtesting . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. allow MainThread Queries () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġsleep Dao Ġ= Ġdb . sleep Database Dao ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After ĊĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠ Ġfun Ġclose Db () Ġ{ ĊĠĠĠĠĠĠĠ Ġdb . close () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġinsert AndGet Night () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnight Ġ= ĠSleep Night () ĊĠĠĠĠĠĠĠ Ġsleep Dao . insert ( night ) ĊĠĠĠĠĠĠĠ Ġval Ġton ight Ġ= Ġsleep Dao . getT on ight () ĊĠĠĠĠĠĠĠ ĠassertEquals ( ton ight ?. sleep Quality , Ġ- 1 ) ĊĠĠĠ Ġ} Ċ }