package Ġdk . nodes . n stack . kotlin . util Ċ Ċ import Ġcom . google . gson . Json Primitive Ċ import Ġjunit . framework . Assert . assertNotNull Ċ import Ġjunit . framework . Assert . assertNull Ċ import Ġorg . junit . Test Ċ Ċ class ĠLocale Deserializer Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġundefined Ġ= Ġ" und " ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Test Ġvalid `() Ġ{ ĊĠĠĠĠĠĠĠ Ġvalid Locations ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map (:: Json Primitive ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocale Ġ= ĠLocale Deserializer (). deserialize ( it , Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( locale ); Ġlocale !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( locale . to Language Tag () Ġ!= Ġundefined ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Test Ġnull `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertNull ( Locale Deserializer (). deserialize ( null , Ġnull , Ġnull )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Test Ġempty `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġempty String Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġval Ġlocale Ġ= ĠLocale Deserializer (). deserialize ( empty String . let (:: Json Primitive ), Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠ ĠassertNotNull ( locale ); Ġlocale !! ĊĠĠĠĠĠĠĠ Ġassert ( locale . to Language Tag () Ġ== Ġundefined ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Test Ġcombinations `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcombinations Ġ= ĠlistOf (" en - BR ", Ġ" en - DK ", Ġ" pt - CZ ", Ġ" da - UK ") ĊĠĠĠĠĠĠĠ Ġcombinations ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map (:: Json Primitive ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocale Ġ= ĠLocale Deserializer (). deserialize ( it , Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( locale ); Ġlocale !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( locale . to Language Tag () Ġ!= Ġundefined ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Test Ġunderscore Ġvariations `() Ġ{ ĊĠĠĠĠĠĠĠ Ġvalid Locations ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . replace ("- ", Ġ"_ ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map (:: Json Primitive ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocale Ġ= ĠLocale Deserializer (). deserialize ( it , Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( locale ); Ġlocale !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( locale . to Language Tag () Ġ!= Ġundefined ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġcombinations Ġ= ĠlistOf (" en - BR ", Ġ" en - DK ", Ġ" pt - CZ ", Ġ" da - UK ") ĊĠĠĠĠĠĠĠ Ġcombinations ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . replace ("- ", Ġ"_ ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map (:: Json Primitive ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocale Ġ= ĠLocale Deserializer (). deserialize ( it , Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( locale ); Ġlocale !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( locale . to Language Tag () Ġ!= Ġundefined ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Test Ġinvalid `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠAdd Ġmore ĊĠĠĠĠĠĠĠ Ġval Ġinvalid s Ġ= ĠlistOf (" as das z das d "). map (:: Json Primitive ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocale Ġ= ĠLocale Deserializer (). deserialize ( it , Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( locale ); Ġlocale !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( locale . to Language Tag () Ġ== Ġundefined ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ