package Ġde . smart square . s quit . io Ċ Ċ import Ġkotlin . io . path . Experimental Path Api Ċ import Ġkotlin . io . path . create Temp Directory Ċ import Ġorg . am sh ove . k lu ent . shouldBe EqualTo Ċ import Ġorg . am sh ove . k lu ent . should NotExist Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ @ Experimental Path Api Ċ class ĠFiles UtilsTest Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` getting Ġsorted Ġleaf Ġdirectories `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= Ġcreate Temp Directory ( prefix Ġ= Ġ" root ") ĊĠĠĠĠĠĠĠ Ġval Ġchild 1 Ġ= Ġcreate Temp Directory ( prefix Ġ= Ġ" 2 - child 1 ", Ġdirectory Ġ= Ġroot ) ĊĠĠĠĠĠĠĠ Ġval Ġchild 2 Ġ= Ġcreate Temp Directory ( prefix Ġ= Ġ" 3 - child 2 ", Ġdirectory Ġ= Ġroot ) ĊĠĠĠĠĠĠĠ Ġval Ġchild 3 Ġ= Ġcreate Temp Directory ( prefix Ġ= Ġ" 1 - child 3 ", Ġdirectory Ġ= Ġroot ) ĊĠĠĠĠĠĠĠ Ġval Ġgrand Child 2 1 Ġ= Ġcreate Temp Directory ( prefix Ġ= Ġ" grand Child 2 1 ", Ġdirectory Ġ= Ġchild 2 ) ĊĊĠĠĠĠĠĠĠ ĠFiles Utils . get Leaf Directories ( root ). toList () ĠshouldBe EqualTo ĠlistOf ( child 3 , Ġchild 1 , Ġgrand Child 2 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de leting Ġdirectories Ġrecursively Ġif Ġexisting `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= Ġcreate Temp Directory ( prefix Ġ= Ġ" root ") ĊĠĠĠĠĠĠĠ Ġcreate Temp Directory ( prefix Ġ= Ġ" child 1 ", Ġdirectory Ġ= Ġroot ) ĊĊĠĠĠĠĠĠĠ ĠFiles Utils . delete Re cursively If Existing ( root ) ĊĊĠĠĠĠĠĠĠ Ġroot . to File (). should NotExist () ĊĠĠĠ Ġ} Ċ } Ċ