/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 1 ĠX iz hi ĠZ hu Ċ Ġ* Ċ Ġ* Ġ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 Ġme . x iz zh u . android . j osh ua . core . repository Ċ Ċ import Ġio . mock k . co Every Ċ import Ġio . mock k . co Verify Ċ import Ġio . mock k . mock k Ċ import Ġkotlinx . coroutines . flow . first Ċ import Ġkotlinx . coroutines . test . run Test Ċ import Ġme . x iz zh u . android . j osh ua . core . Bookmark Ċ import Ġme . x iz zh u . android . j osh ua . core . Constants Ċ import Ġme . x iz zh u . android . j osh ua . core . repository . local . Local Ver se Annotation Storage Ċ import Ġme . x iz zh u . android . j osh ua . tests . Base UnitTest Ċ import Ġkotlin . test . Before Test Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ Ċ class ĠVer se Annotation Repository Test Ġ: ĠBase UnitTest () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlocal Ver se Annotation Storage : ĠLocal Ver se Annotation Storage < Bookmark > ĊĊĠĠĠ Ġ@ Before Test ĊĠĠĠ Ġoverride Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . setup () ĊĊĠĠĠĠĠĠĠ Ġlocal Ver se Annotation Storage Ġ= Ġmock k () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġsort Order Ġfrom Ġconstructor `() Ġ= Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġlocal Ver se Annotation Storage . read SortOrder () Ġ} Ġreturns ĠConstants . SORT _ BY _ BOOK ĊĊĠĠĠĠĠĠĠ Ġval Ġver se Annotation Repository Ġ= ĠVer se Annotation Repository < Bookmark >( local Ver se Annotation Storage , Ġtest Scope ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Constants . SORT _ BY _ BOOK , Ġver se Annotation Repository . sort Order . first ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġsort Order Ġfrom Ġconstructor Ġwith Ġexception `() Ġ= Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġlocal Ver se Annotation Storage . read SortOrder () Ġ} Ġthrows ĠRuntimeException (" Random Ġexception ") ĊĊĠĠĠĠĠĠĠ Ġval Ġver se Annotation Repository Ġ= ĠVer se Annotation Repository < Bookmark >( local Ver se Annotation Storage , Ġtest Scope ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Constants . DEFAULT _ SORT _ ORDER , Ġver se Annotation Repository . sort Order . first ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġsave SortOrder ()` () Ġ= Ġrun Test Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġlocal Ver se Annotation Storage . read SortOrder () Ġ} Ġreturns ĠConstants . DEFAULT _ SORT _ ORDER ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġlocal Ver se Annotation Storage . save SortOrder ( Constants . SORT _ BY _ BOOK ) Ġ} Ġreturns ĠUnit ĊĊĠĠĠĠĠĠĠ Ġval Ġver se Annotation Repository Ġ= ĠVer se Annotation Repository < Bookmark >( local Ver se Annotation Storage , Ġtest Scope ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Constants . DEFAULT _ SORT _ ORDER , Ġver se Annotation Repository . sort Order . first ()) ĊĊĠĠĠĠĠĠĠ Ġver se Annotation Repository . save SortOrder ( Constants . SORT _ BY _ BOOK ) ĊĠĠĠĠĠĠĠ Ġco Verify ( exact ly Ġ= Ġ 1 ) Ġ{ Ġlocal Ver se Annotation Storage . save SortOrder ( Constants . SORT _ BY _ BOOK ) Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( Constants . SORT _ BY _ BOOK , Ġver se Annotation Repository . sort Order . first ()) ĊĠĠĠ Ġ} Ċ } Ċ