package Ġno . ok . orig o . dat apl atform . json transformer Ċ Ċ import Ġcom . fasterxml . jackson . databind . JsonNode Ċ import Ġcom . fasterxml . jackson . databind . ObjectMapper Ċ import Ġcom . fasterxml . jackson . module . kotlin . readValue Ċ import Ġorg . apache . commons . csv . CSV Format Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . Test Instance Ċ import Ġjava . io . String Writer Ċ Ċ @ Test Instance ( Test Instance . Lifecycle . PER _ CLASS ) Ċ class ĠJson Transformer Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġtransform `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġj slt String Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlet Ġid parts Ġ= Ġsplit (. id , Ġ"- ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlet Ġxxx Ġ= Ġ[ for Ġ(${ '$ '} id parts ) Ġ" x " Ġ* Ġsize (. )] ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id " Ġ: Ġjoin ($ {' $ '} xxx , Ġ"- "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" type " Ġ: Ġ" An onym ized - View ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġ: Ġ. ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġval Ġinput Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" schema " Ġ: Ġ" http :// schemas . sch ib st ed . io / thing / pulse - simple . json # 1 . json ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" id " Ġ: Ġ" w 2 3 q 7 ca 1 - 8 7 2 9 - 2 4 9 2 3 - 9 2 2 b - 1 c 0 5 1 7 dd ff jf 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" type " Ġ: Ġ" View " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} """. replace ("\\ s ". to Regex (), Ġ"") ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" id " Ġ: Ġ" xxxxxxxx - xxxx - xxxx x - xxxx - xxxxxxxx xxxx x ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" type " Ġ: Ġ" An onym ized - View ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" schema " Ġ: Ġ" http :// schemas . sch ib st ed . io / thing / pulse - simple . json # 1 . json " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . replace ("\\ s ". to Regex (), Ġ"") ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , ĠJson Transformer . transform ( input , Ġj slt String )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġwrite Csv `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠobjectMapper Ġ= ĠObjectMapper () ĊĠĠĠĠĠĠĠ Ġval Ġjson String Ġ= Ġ""" [{" k ake ":" bl Ã¸ t "," pr is ": 2 0 },{" k ake ":" ost ek ake "," pr is ": 2 0 }] """ ĊĠĠĠĠĠĠĠ Ġval Ġformat Ġ= ĠCSV Format . DEFAULT . with Delimiter (' ; ') ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Record Separator ("\ n ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Quote ('" ') ĊĠĠĠĠĠĠĠ Ġval Ġwriter Ġ= ĠString Writer () ĊĠĠĠĠĠĠĠ Ġval Ġinput : ĠList < JsonNode > Ġ= ĠobjectMapper . readValue ( json String ) ĊĠĠĠĠĠĠĠ ĠJson Transformer . write Csv ( input , Ġwriter , Ġformat ) ĊĠĠĠĠĠĠĠ Ġwriter . close () ĊĠĠĠĠĠĠĠ ĠassertEquals (" k ake ; pr is \ nb l Ã¸ t ; 2 0 \ nost ek ake ; 2 0 \ n ", Ġwriter . toString ()) ĊĠĠĠ Ġ} Ċ } Ċ