/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 1 Ġdz iko ys k Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġnet . dz iko ys k . cdn . module . yaml Ċ Ċ import Ġnet . dz iko ys k . cdn . C dn Spec Ċ import Ġnet . dz iko ys k . cdn . entity . Context ual Ċ import Ġnet . dz iko ys k . cdn . source . Source Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġp anda . std . Result Assertions . assert Ok Ċ Ċ class ĠYaml Like Feature Test Ġ: ĠC dn Spec () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġconverter Ġ= ĠYaml Like Module () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġconvert Ġindentation Ġto Ġbrackets `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġcfg (""" ĊĠĠĠĠĠĠĠ Ġkey : Ġvalue ĊĠĠĠĠĠĠĠ Ġsection : ĊĠĠĠĠĠĠĠĠĠ Ġsub Section : ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsub Key : Ġvalue ĊĠĠĠĠĠĠĠĠĠ Ġ# Ġcomment ĊĠĠĠĠĠĠĠĠĠ Ġkey : Ġvalue ĊĠĠĠĠĠĠĠ Ġ"" ") ĊĊĠĠĠĠĠĠĠ ĠassertEquals (""" ĊĠĠĠĠĠĠĠ Ġkey : Ġvalue ĊĠĠĠĠĠĠĠ Ġsection Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġsub Section Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsub Key : Ġvalue ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ# Ġcomment ĊĠĠĠĠĠĠĠĠĠ Ġkey : Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġ""" . trim Indent (), Ġconverter . convertTo C dn ( source )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġparse Ġand Ġrender Ġyaml Ġlike Ġlists `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġcfg (""" ĊĠĠĠĠĠĠĠ Ġlist : ĊĠĠĠĠĠĠĠĠĠ Ġ- Ġa ĊĠĠĠĠĠĠĠĠĠ Ġ- Ġb ĊĠĠĠĠĠĠĠ Ġ"" ") ĊĊĠĠĠĠĠĠĠ Ġval Ġconfiguration Ġ= Ġassert Ok ( yaml Like . load ( Source . of ( source ))) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf (" a ", Ġ" b "), Ġconfiguration . get Array (" list "). get (). list ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( source , Ġassert Ok ( yaml Like . render ( configuration ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġread Ġlines Ġwith Ġbrackets `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġassert Ok ( yaml Like . load ( Source . of (""" ĊĠĠĠĠĠĠĠ Ġsection : ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey : Ġ{ value } ĊĠĠĠĠĠĠĠ Ġ""" ))) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ("{ value }", Ġresult . getString (" section . key ", Ġ"")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġuse Ġprettier `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfiguration Ġ= Ġassert Ok ( yaml Like . load ( Source . of (""" ĊĠĠĠĠĠĠĠ Ġsection Ġ: ĊĠĠĠĠĠĠĠĠĠ Ġkey Ġ: Ġvalue ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent ()))) ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" value ", Ġconfiguration . getString (" section . key ", Ġ" value ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠInd ent ation Test Configuration Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Context ual ĊĠĠĠĠĠĠĠ Ġvar Ġsection : ĠAny Ġ= Ġobject Ġ: ĠAny () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġkey Ġ= Ġ" default Ġvalue " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġcompose Ġindentation Ġbased Ġsource `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( cfg (""" ĊĠĠĠĠĠĠĠ Ġsection : ĊĠĠĠĠĠĠĠĠĠ Ġkey : Ġdefault Ġvalue ĊĠĠĠĠĠĠĠ Ġ""" ), Ġassert Ok ( yaml Like . render ( Indent ation Test Configuration ()))) ĊĠĠĠ Ġ} Ċ Ċ } Ċ