package Ġcom . sk sam uel . kt . extensions . locale Ċ Ċ import Ġio . kot lint est .* Ċ import Ġio . kot lint est . extensions . TopLevel Test Ċ import Ġio . kot lint est . extensions . locale . Locale Test Listener Ċ import Ġio . kot lint est . extensions . locale . with Default Locale Ċ import Ġio . kot lint est . specs . Describe Spec Ċ import Ġio . kot lint est . specs . Fun Spec Ċ import Ġjava . util .* Ċ Ċ class ĠLocale Extension Function Test Ġ: ĠDescribe Spec () Ġ{ ĊĊĠ Ġinit Ġ{ ĊĠĠĠ Ġdescribe (" The ĠLocale Ġextension Ġfunction ") Ġ{ ĊĊĠĠĠĠĠ ĠLocale . getDefault () Ġshould Not Be ĠLocale . F RAN CE Ġ Ġ// ĠGu arante e ing Ġpre - condition , Ġas Ġwe 'll Ġuse ĠLocale . F RAN CE Ġin Ġall Ġtests ĊĊĠĠĠĠĠ Ġit (" Should Ġchange Ġthe ĠLocale Ġto Ġthe Ġexpected Ġone ") Ġ{ ĊĠĠĠĠĠĠĠ Ġwith Default Locale ( Locale . F RAN CE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ ĠLocale . getDefault () ĠshouldBe ĠLocale . F RAN CE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġit (" Should Ġreset Ġthe ĠLocale Ġto Ġthe Ġprevious Ġone Ġafter Ġthe Ġexecution ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprevious Locale Ġ= ĠLocale . getDefault () ĊĊĠĠĠĠĠĠĠ Ġwith Default Locale ( Locale . F RAN CE ) Ġ{ Ġ} ĊĊĠĠĠĠĠĠĠ ĠLocale . getDefault () ĠshouldBe Ġprevious Locale ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġit (" Should Ġreset Ġthe ĠLocale Ġto Ġthe Ġprevious Ġone Ġeven Ġif Ġcode Ġthrows Ġan Ġexception ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprevious Locale Ġ= ĠLocale . getDefault () ĊĊĠĠĠĠĠĠĠ Ġshould Throw Any Ġ{ Ġwith Default Locale < Unit >( Locale . F RAN CE ) Ġ{ Ġthrow ĠRuntimeException () Ġ} Ġ} ĊĊĠĠĠĠĠĠĠ ĠLocale . getDefault () ĠshouldBe Ġprevious Locale ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġit (" Should Ġreturn Ġthe Ġresult Ġof Ġblock ") Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġv Ġ= Ġwith Default Locale ( Locale . F RAN CE ) Ġ{ Ġ" Foo !" Ġ} ĊĠĠĠĠĠĠĠ Ġv ĠshouldBe Ġ" Foo !" ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ Ċ class ĠLocale Listener Test Ġ: ĠFun Spec () Ġ{ ĊĊĠ Ġoverride Ġfun Ġlisteners () Ġ= ĠlistOf ( Locale Test Listener ( Locale . F RAN CE )) ĊĊĠ Ġprivate Ġvar Ġdef locale : ĠLocale ? Ġ= Ġnull ĊĊĠ Ġoverride Ġfun Ġbefore Spec Class ( spec : ĠSpec , Ġtests : ĠList < TopLevel Test >) Ġ{ ĊĠĠĠ Ġdef locale Ġ= ĠLocale . getDefault () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġafter Spec Class ( spec : ĠSpec , Ġresults : ĠMap < TestCase , ĠTest Result >) Ġ{ ĊĠĠĠ ĠLocale . getDefault () ĠshouldBe Ġdef locale ĊĠ Ġ} ĊĊĠ Ġinit Ġ{ ĊĠĠĠ Ġtest (" locale Ġdefault Ġshould Ġbe Ġset , Ġand Ġthen Ġrestored Ġafter ") Ġ{ ĊĠĠĠĠĠ ĠLocale . getDefault () ĠshouldBe ĠLocale . F RAN CE ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ