// ĠSPDX - License - Identifier : ĠBSD - 3 - Clause Ċ package Ġorg . isl ando ft ex . ar ara . api . files Ċ Ċ import Ġio . kot est . assertions . throw ables . should Throw Ċ import Ġio . kot est . core . spec . style . Should Spec Ċ import Ġio . kot est . engine . spec . temp file Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġio . kot est . matchers . string . should Contain Ċ import Ġorg . isl ando ft ex . ar ara . api . Ar ara IOException Ċ import Ġjava . nio . file . Files Ċ Ċ class ĠJVM MP P Path Test Ġ: ĠShould Spec ({ ĊĠĠĠ Ġcontext (" read Ġand Ġwrite Ġoperations ") Ġ{ ĊĠĠĠĠĠĠĠ Ġshould (" read Ġfrom Ġfile ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtmp Ġ= Ġtempfile () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtmp . write Text (" qu ack ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠM PP Path ( tmp . toString ()). read Text () ĠshouldBe Ġ" qu ack " ĊĠĠĠĠĠĠĠĠĠĠĠ ĠM PP Path ( tmp . toString ()). read Lines () ĠshouldBe ĠlistOf (" qu ack ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġshould (" write Ġto Ġfile ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtmp Ġ= Ġtempfile () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠM PP Path ( tmp . toString ()). write Text (" qu ack ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtmp . read Text () ĠshouldBe Ġ" qu ack " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġshould (" fail Ġreading Ġfrom Ġdirectory ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtmp Ġ= ĠFiles . create Temp Directory (" read ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshould Throw < Ar ara IOException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtmp . to MP P Path (). read Text () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. message Ġshould Contain Ġ" read Ġtext Ġfrom Ġfile " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġshould (" fail Ġwriting Ġto Ġdirectory ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtmp Ġ= ĠFiles . create Temp Directory (" write ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshould Throw < Ar ara IOException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtmp . to MP P Path (). write Text (" qu ack ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. message Ġshould Contain Ġ" write Ġtext Ġto Ġfile " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }) Ċ