package Ġio . real ad . k ile . adapters . local Ċ Ċ import Ġio . kot est . core . spec . style . String Spec Ċ import Ġio . kot est . matchers . collections . should Contain Exactly Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġio . kot est . matchers . should Not Be Ċ import Ġio . mock k . confirm Verified Ċ import Ġio . mock k . every Ċ import Ġio . mock k . mock k Ċ import Ġio . mock k . verify Ċ import Ġio . real ad . k ile . Directory Attributes Ċ import Ġio . real ad . k ile . error . Filesystem Error Ċ import Ġio . real ad . k ile . fp . Either Ċ import Ġio . real ad . k ile . fp . left Ċ import Ġio . real ad . k ile . fp . right Ċ Ċ /** Ċ Ġ* ĠTest Ġcase Ġfor Ġthe ĠLocal Adapter Ġclass . Ċ Ġ* Ċ Ġ* Ġ@ see ĠLocal Adapter Ċ Ġ*/ Ċ class ĠLocal Adapter Test Ġ: ĠString Spec ({ ĊĊĠĠĠ Ġval Ġtest Location Ġ= Ġ"/ root / test " ĊĠĠĠ Ġval ĠlistOf Three Directory Attributes Ġ= ĠlistOf (" one ", Ġ" two ", Ġ" three "). map Ġ{ ĠDirectory Attributes ( it ) Ġ} ĊĠĠĠ Ġval Ġfilesystem Error Ġ= ĠFile system Error (" hello Ġerror ") ĊĊĠĠĠ Ġlateinit Ġvar Ġfile Utils : ĠFileUtils ĊĠĠĠ Ġlateinit Ġvar Ġadapter : ĠLocal Adapter ĊĊĠĠĠ Ġbefore Test Ġ{ ĊĠĠĠĠĠĠĠ Ġfile Utils Ġ= Ġmock k () ĊĠĠĠĠĠĠĠ Ġadapter Ġ= ĠLocal Adapter ( file Utils ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" should Ġreturn Ġa Ġlist Ġof Ġthe Ġdirectory Ġcontents Ġreturned Ġfrom Ġfile Ġutils " Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġfile Utils . list Contents ( any ()) Ġ} Ġreturns ĠlistOf Three Directory Attributes . right () ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġadapter . list Contents ( test Location ) ĊĠĠĠĠĠĠĠ Ġresponse . is Left () ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġresponse . is Right () ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( response Ġas ĠEither . Right ). r Ġshould Not Be Ġnull ĊĠĠĠĠĠĠĠ Ġresponse . r ĠshouldBe ĠlistOf Three Directory Attributes ĊĠĠĠĠĠĠĠ Ġresponse . r Ġshould Contain Exactly ĠlistOf Three Directory Attributes ĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 1 ) Ġ{ Ġfile Utils . list Contents ( any ()) Ġ} ĊĠĠĠĠĠĠĠ Ġconfirm Verified ( file Utils ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" should Ġreturn Ġan Ġerror Ġafter Ġthan Ġfile Ġutils Ġreturn Ġerror " Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġfile Utils . list Contents ( any ()) Ġ} Ġreturns Ġfilesystem Error . left () ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġadapter . list Contents ( test Location ) ĊĠĠĠĠĠĠĠ Ġresponse . is Left () ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġresponse . is Right () ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġ( response Ġas ĠEither . Left ). l Ġshould Not Be Ġnull ĊĠĠĠĠĠĠĠ Ġresponse . l . get Previous () ĠshouldBe Ġnull ĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 1 ) Ġ{ Ġfile Utils . list Contents ( any ()) Ġ} ĊĠĠĠĠĠĠĠ Ġconfirm Verified ( file Utils ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" should Ġreturn Ġa Ġfile Ġexists Ġresult Ġreturned Ġfrom Ġfile Ġutils " Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfile Exists Result Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġfile Utils . file Exists ( any ()) Ġ} Ġreturns Ġtrue . right () ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġadapter . file Exists ( test Location ) ĊĠĠĠĠĠĠĠ Ġresponse . is Left () ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġresponse . is Right () ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ( response Ġas ĠEither . Right ). r Ġshould Not Be Ġnull ĊĠĠĠĠĠĠĠ Ġresponse . r ĠshouldBe Ġfile Exists Result ĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 1 ) Ġ{ Ġfile Utils . file Exists ( any ()) Ġ} ĊĠĠĠĠĠĠĠ Ġconfirm Verified ( file Utils ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" should Ġreturn Ġan Ġerror Ġafter Ġthan Ġfile Ġutils Ġreturn Ġerror Ġafter Ġcalling Ġfile Ġexists " Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġfile Utils . file Exists ( any ()) Ġ} Ġreturns Ġfilesystem Error . left () ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġadapter . file Exists ( test Location ) ĊĠĠĠĠĠĠĠ Ġresponse . is Left () ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġresponse . is Right () ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠ Ġ( response Ġas ĠEither . Left ). l Ġshould Not Be Ġnull ĊĠĠĠĠĠĠĠ Ġresponse . l . get Previous () ĠshouldBe Ġnull ĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 1 ) Ġ{ Ġfile Utils . file Exists ( any ()) Ġ} ĊĠĠĠĠĠĠĠ Ġconfirm Verified ( file Utils ) ĊĠĠĠ Ġ} ĊĊ Ċ }) Ċ