package Ġtech . k zen . auto . server . objects . report . exec . output . pivot . row . value . store Ċ Ċ import Ġtech . k zen . auto . server . objects . report . exec . output . pivot . store . File Offset Store Ċ import Ġjava . io . File Ċ import Ġjava . nio . file . Files Ċ import Ġjava . nio . file . Path Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals ĊĊ Ċ class ĠFile Indexed Text Store Test Ġ{ ĊĠĠĠ Ġ// ---------------------------------------------------------------- ------------------------------------------------ - ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsingle Value () Ġ{ ĊĠĠĠĠĠĠĠ Ġuse Ġ{ Ġstore Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstore . add (" foo ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġstore . get ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" foo ", Ġvalue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtwo Values () Ġ{ ĊĠĠĠĠĠĠĠ Ġuse Ġ{ Ġstore Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstore . add (" foo ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstore . add (" bar ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" foo ", Ġstore . get ( 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" bar ", Ġstore . get ( 1 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġthree Values () Ġ{ ĊĠĠĠĠĠĠĠ Ġuse Ġ{ Ġstore Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstore . add (" foo ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstore . add (" bar ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstore . add (" baz ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" foo ", Ġstore . get ( 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" bar ", Ġstore . get ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" baz ", Ġstore . get ( 2 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// ---------------------------------------------------------------- ------------------------------------------------ - Ċ // ĠĠĠ Ġ@ Opt In ( Experimental Path Api :: class ) ĊĠĠĠ Ġprivate Ġfun Ġuse ( consumer : Ġ( File Indexed Text Store ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġwork Utils Ġ= Ġkotlin . io . path . create Temp Directory (" File Indexed Text Store Test ") ĊĠĠĠĠĠĠĠ Ġval Ġoffset File Ġ= Ġwork Utils . resolve (" offset ") ĊĠĠĠĠĠĠĠ Ġval Ġvalue File Ġ= Ġwork Utils . resolve (" value ") ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFile Offset Store ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoffset File ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). use Ġ{ Ġoffset Store Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFile Indexed Text Store ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue File , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoffset Store ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconsumer . invoke ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFiles . walk ( work Utils ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. sorted ( Comparator . reverse Order ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map ( Path :: to File ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach ( File :: delete ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }