/* Ċ Ġ* Ġ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 Ġandroidx . work Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . room . testing . Migration TestHelper Ċ import Ġandroidx . sqlite . db . framework . Framework SQLite Open Helper Factory Ċ import Ġandroidx . test . core . app . Application Provider Ċ import Ġandroidx . test . ext . junit . runners . Android JUnit 4 Ċ import Ġandroidx . test . filters . Large Test Ċ import Ġandroidx . test . filters . Sdk Suppress Ċ import Ġandroidx . test . platform . app . Instrumentation Registry Ċ import Ġandroidx . work . impl . Work Database Ċ import Ġandroidx . work . impl . Work Database Path Helper Ċ import Ġandroidx . work . impl . Work Database Versions . VERSION _ 9 Ċ import Ġorg . hamcrest . Core Matchers .` is ` Ċ import Ġorg . hamcrest . Matcher Assert . assertThat Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġjava . io . File Ċ Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ @ Large Test Ċ class ĠWork Database Path Helper Test Ġ{ ĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġval Ġmigration TestHelper Ġ= ĠMigration TestHelper ( ĊĠĠĠĠĠĠĠ ĠInstrument ation Registry . get Instrumentation (), ĊĠĠĠĠĠĠĠ ĠWork Database :: class . java , ĊĠĠĠĠĠĠĠ Ġempty List (), ĊĠĠĠĠĠĠĠ ĠFramework SQLite Open Helper Factory () ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcontext : ĠContext ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext Ġ= ĠApplication Provider . getApplicationContext () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Sdk Suppress ( min Sdk Version Ġ= Ġ 2 3 ) ĊĠĠĠ Ġfun Ġtest Migration _ to No Backup Directory () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠCreate Ġa Ġdatabase ĊĠĠĠĠĠĠĠ Ġmigration TestHelper . create Database ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWork Database Path Helper . getDefault Database Path ( context ). path , ĠVERSION _ 9 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġpaths Ġ= ĠWork Database Path Helper . migration Paths ( context ) ĊĊĠĠĠĠĠĠĠ Ġval Ġassert s : ĠMap < File , ĠBoolean > Ġ= Ġpaths . map Ġ{ Ġ( source , Ġ_) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( source , Ġsource . exists ()) ĊĠĠĠĠĠĠĠ Ġ}. toMap () ĊĊĠĠĠĠĠĠĠ Ġ// ĠMigrate ĊĠĠĠĠĠĠĠ ĠWork Database Path Helper . migrate Database ( context ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠVerify Ġpaths ĊĠĠĠĠĠĠĠ Ġpaths . forEach Ġ{ Ġ( source , Ġdestination ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexists Ġ= Ġassert s [ source ] Ġ?: Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( exists ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( destination . exists (), Ġ` is `( true )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ