package Ġch . tut tel i . spe k . extensions Ċ Ċ import Ġch . tut tel i . at rium . api . fluent . en _ GB . message To Contain Ċ import Ġch . tut tel i . at rium . api . fluent . en _ GB . toThrow Ċ import Ġch . tut tel i . at rium . api . ver bs . expect Ċ import Ġch . tut tel i . nio k . getFile Attribute View Ċ import Ġch . tut tel i . nio k . new File Ċ import Ġorg . spe k framework . spe k 2 . Spe k Ċ import Ġorg . spe k framework . spe k 2 . dsl . Skip Ċ import Ġorg . spe k framework . spe k 2 . style . specification . describe Ċ import Ġjava . nio . file . Files Ċ import Ġjava . nio . file . Paths Ċ import Ġjava . nio . file . attribute . Pos ix File Attribute View Ċ Ċ object ĠDirectory NotEmpty Spec Ġ: ĠSpe k ({ ĊĊĠĠĠ Ġdescribe (" Files . list Ġon ĠWindows Ġwithout Ġclosing Ġstream ") Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// ĠWindows ĊĠĠĠĠĠĠĠ Ġval Ġif Pos ix NotSupported Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Paths . get (" test "). getFile Attribute View < Pos ix File Attribute View >() Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSkip . No ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSkip . Yes ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" POSIX Ġpermissions Ġare Ġsupported Ġon Ġthis Ġfile Ġsystem , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" lock ing Ġwill Ġonly Ġbe Ġan Ġadvice , Ġhence Ġskipping " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġit (" outputs Ġa Ġhint Ġabout ĠDirectory NotEmpty Exception ", Ġskip Ġ= Ġif Pos ix NotSupported ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtmp Folder Ġ= ĠM emo ized Temp Folder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġa Ġ= Ġtmp Folder . new Directory (" a ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġa . new File (" b . txt ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġkeep Ġfile Ġhandle Ġopen Ġon Ġpurpose ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFiles . list ( a ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtmp Folder . de structor () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. toThrow < IllegalStateException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage To Contain (" not Ġempty Ġafter Ġdeleting Ġall Ġcontaining Ġfiles Ġand Ġdirectories ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }) Ċ