package Ġcom . hex agon kt . core . serialization Ċ Ċ import Ġcom . hex agon kt . core . Classpath Handler Ċ import Ġcom . hex agon kt . core . serialization . Serialization Manager . default Format Ċ import Ġcom . hex agon kt . core . serialization . Serialization Manager . format Of Ċ import Ġcom . hex agon kt . core . serialization . Serialization Manager . formats Ċ import Ġcom . hex agon kt . serialization . json . Json Ċ import Ġcom . hex agon kt . serialization . yaml . Yaml Ċ import Ġorg . junit . jupiter . api . After Each Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . io . File Ċ import Ġjava . net . URL Ċ import Ġkotlin . test . assert Fails With Ċ Ċ internal Ġclass ĠSerialization Manager Test Ġ{ ĊĊĠĠĠ Ġ@ BeforeEach Ġfun ĠsetUp Serialization Manager () Ġ{ ĊĠĠĠĠĠĠĠ Ġformats Ġ= Ġlinked Set Of ( Json , ĠYaml ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ BeforeEach Ġ@ After Each Ġfun Ġreset Serialization Formats Ġ() Ġ{ ĊĠĠĠĠĠĠĠ Ġformats Ġ= Ġlinked Set Of ( Json ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` Alternative Ġclasspath ĠURL `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= ĠURL (" classpath ", Ġ"", Ġ 0 , Ġ" serialization / mime . types ", ĠClass path Handler ) ĊĠĠĠĠĠĠĠ Ġassert ( url . read Text (). contains (" application / json Ġjson ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` User Ġcan Ġadd Ġand Ġremove Ġserialization Ġformats ` Ġ() Ġ{ ĊĠĠĠĠĠĠĠ Ġassert ( format Of ( Json . contentType ) Ġ== ĠJson ) ĊĠĠĠĠĠĠĠ Ġassert ( format Of ( Yaml . contentType ) Ġ== ĠYaml ) ĊĊĠĠĠĠĠĠĠ Ġformats ( Yaml ) ĊĠĠĠĠĠĠĠ Ġassert ( formats Ġ== Ġlinked Set Of ( Yaml )) ĊĠĠĠĠĠĠĠ Ġassert ( format Of ( Json . contentType , ĠYaml ) Ġ== ĠYaml ) ĊĠĠĠĠĠĠĠ Ġassert ( format Of ( Yaml . contentType ) Ġ== ĠYaml ) ĊĊĠĠĠĠĠĠĠ Ġformats ( Json ) ĊĠĠĠĠĠĠĠ Ġassert Ġ( formats Ġ== Ġlinked Set Of ( Json )) ĊĠĠĠĠĠĠĠ Ġassert ( format Of ( Json . contentType ) Ġ== ĠJson ) ĊĠĠĠĠĠĠĠ Ġassert ( format Of ( Yaml . contentType , ĠJson ) Ġ== ĠJson ) ĊĊĠĠĠĠĠĠĠ Ġformats ( Json , ĠYaml ) ĊĠĠĠĠĠĠĠ Ġassert Ġ( formats Ġ== Ġlinked Set Of ( Json , ĠYaml )) ĊĠĠĠĠĠĠĠ Ġassert ( format Of ( Json . contentType ) Ġ== ĠJson ) ĊĠĠĠĠĠĠĠ Ġassert ( format Of ( Yaml . contentType ) Ġ== ĠYaml ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` User Ġcan Ġchange Ġdefault Ġformat ` Ġ() Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Ġ( default Format Ġ== ĠJson ) ĊĊĠĠĠĠĠĠĠ Ġdefault Format ( Yaml ) ĊĠĠĠĠĠĠĠ Ġassert Ġ( default Format Ġ== ĠYaml ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` User Ġcan Ġnot Ġset Ġan Ġempty Ġlist Ġof Ġformats ` Ġ() Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Fails With < IllegalArgumentException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġformats Ġ= Ġlinked Set Of () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` User Ġcan Ġnot Ġset Ġa Ġdefault Ġformat Ġnot Ġloaded ` Ġ() Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Fails With < IllegalArgumentException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġformats Ġ= Ġlinked Set Of ( Yaml ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Format Ġ= ĠJson ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` Searching Ġa Ġformat Ġnot Ġloaded Ġraises Ġan Ġexception ` Ġ() Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Fails With < IllegalStateException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġformats Ġ= Ġlinked Set Of ( Yaml ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġformat Of ( Json . contentType ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` Searching Ġserialization Ġformat Ġfor Ġcontent Ġtypes , ĠURLs , Ġfiles Ġand Ġresources Ġworks ` Ġ() Ġ{ ĊĠĠĠĠĠĠĠ Ġassert ( format Of ( Json . contentType ) Ġ== ĠJson ) ĊĠĠĠĠĠĠĠ Ġassert ( format Of ( URL (" http :// l / a . yaml ")) Ġ== ĠYaml ) ĊĠĠĠĠĠĠĠ Ġassert ( format Of ( File (" f . json ")) Ġ== ĠJson ) ĊĠĠĠĠĠĠĠ Ġassert ( format Of ( URL (" classpath : r . yaml ")) Ġ== ĠYaml ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` MIME Ġtypes Ġreturn Ġcorrect Ġcontent Ġtype Ġfor Ġextensions `() Ġ{ ĊĠĠĠĠĠĠĠ Ġassert ( Serialization Manager . content TypeOf (" json ") Ġ== ĠJson . contentType ) ĊĠĠĠĠĠĠĠ Ġassert ( Serialization Manager . content TypeOf (" yaml ") Ġ== ĠYaml . contentType ) ĊĠĠĠĠĠĠĠ Ġassert ( Serialization Manager . content TypeOf (" yml ") Ġ== ĠYaml . contentType ) ĊĠĠĠĠĠĠĠ Ġassert ( Serialization Manager . content TypeOf (" png ") Ġ== Ġ" image / png ") ĊĠĠĠĠĠĠĠ Ġassert ( Serialization Manager . content TypeOf (" rtf ") Ġ== Ġ" application / rtf ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` MIME Ġtypes Ġreturn Ġcorrect Ġcontent Ġtype Ġfor ĠURLs `() Ġ{ ĊĠĠĠĠĠĠĠ Ġassert ( Serialization Manager . content TypeOf ( URL (" http :// l / a . json ")) Ġ== ĠJson . contentType ) ĊĠĠĠĠĠĠĠ Ġassert ( Serialization Manager . content TypeOf ( URL (" http :// l / a . yaml ")) Ġ== ĠYaml . contentType ) ĊĠĠĠĠĠĠĠ Ġassert ( Serialization Manager . content TypeOf ( URL (" http :// l / a . yml ")) Ġ== ĠYaml . contentType ) ĊĠĠĠĠĠĠĠ Ġassert ( Serialization Manager . content TypeOf ( URL (" http :// l / a . png ")) Ġ== Ġ" image / png ") ĊĠĠĠĠĠĠĠ Ġassert ( Serialization Manager . content TypeOf ( URL (" http :// l / a . rtf ")) Ġ== Ġ" application / rtf ") ĊĊĠĠĠĠĠĠĠ Ġassert ( format Of ( URL (" http :// l / a . json ")) Ġ== ĠJson ) ĊĠĠĠĠĠĠĠ Ġassert ( format Of ( URL (" http :// l / a . yaml ")) Ġ== ĠYaml ) ĊĠĠĠĠĠĠĠ Ġassert ( format Of ( URL (" http :// l / a . yml ")) Ġ== ĠYaml ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` MIME Ġtypes Ġreturn Ġcorrect Ġcontent Ġtype Ġfor Ġfiles `() Ġ{ ĊĠĠĠĠĠĠĠ Ġassert ( Serialization Manager . content TypeOf ( File (" f . json ")) Ġ== ĠJson . contentType ) ĊĠĠĠĠĠĠĠ Ġassert ( Serialization Manager . content TypeOf ( File (" f . yaml ")) Ġ== ĠYaml . contentType ) ĊĠĠĠĠĠĠĠ Ġassert ( Serialization Manager . content TypeOf ( File (" f . yml ")) Ġ== ĠYaml . contentType ) ĊĠĠĠĠĠĠĠ Ġassert ( Serialization Manager . content TypeOf ( File (" f . png ")) Ġ== Ġ" image / png ") ĊĠĠĠĠĠĠĠ Ġassert ( Serialization Manager . content TypeOf ( File (" f . rtf ")) Ġ== Ġ" application / rtf ") ĊĊĠĠĠĠĠĠĠ Ġassert ( format Of ( File (" f . json ")) Ġ== ĠJson ) ĊĠĠĠĠĠĠĠ Ġassert ( format Of ( File (" f . yaml ")) Ġ== ĠYaml ) ĊĠĠĠĠĠĠĠ Ġassert ( format Of ( File (" f . yml ")) Ġ== ĠYaml ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` MIME Ġtypes Ġreturn Ġcorrect Ġcontent Ġtype Ġfor Ġresources `() Ġ{ ĊĠĠĠĠĠĠĠ Ġassert ( Serialization Manager . content TypeOf ( URL (" classpath : r . json ")) Ġ== ĠJson . contentType ) ĊĠĠĠĠĠĠĠ Ġassert ( Serialization Manager . content TypeOf ( URL (" classpath : r . yaml ")) Ġ== ĠYaml . contentType ) ĊĠĠĠĠĠĠĠ Ġassert ( Serialization Manager . content TypeOf ( URL (" classpath : r . yml ")) Ġ== ĠYaml . contentType ) ĊĠĠĠĠĠĠĠ Ġassert ( Serialization Manager . content TypeOf ( URL (" classpath : r . png ")) Ġ== Ġ" image / png ") ĊĠĠĠĠĠĠĠ Ġassert ( Serialization Manager . content TypeOf ( URL (" classpath : r . rtf ")) Ġ== Ġ" application / rtf ") ĊĊĠĠĠĠĠĠĠ Ġassert ( format Of ( URL (" classpath : r . json ")) Ġ== ĠJson ) ĊĠĠĠĠĠĠĠ Ġassert ( format Of ( URL (" classpath : r . yaml ")) Ġ== ĠYaml ) ĊĠĠĠĠĠĠĠ Ġassert ( format Of ( URL (" classpath : r . yml ")) Ġ== ĠYaml ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` Not Ġfound ĠSerialization Ġformat Ġthrows Ġan Ġexception `() Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Fails With < IllegalStateException > Ġ{ Ġformat Of ( URL (" classpath : r ._ ")) Ġ} ĊĠĠĠĠĠĠĠ Ġassert Fails With < IllegalStateException > Ġ{ Ġformat Of ( File (" r ._ ")) Ġ} ĊĠĠĠĠĠĠĠ Ġassert Fails With < IllegalStateException > Ġ{ Ġformat Of ( URL (" http :// r ._ ")) Ġ} ĊĠĠĠĠĠĠĠ Ġassert Fails With < IllegalStateException > Ġ{ Ġformat Of ("_ ") Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` Not Ġfound ĠSerialization Ġformat Ġreturns Ġthe Ġdefault `() Ġ{ ĊĠĠĠĠĠĠĠ Ġassert ( format Of ("_ ", ĠJson ) Ġ== ĠJson ) ĊĠĠĠ Ġ} Ċ } Ċ