package Ġcom . stripe . android . view Ċ Ċ import Ġandroid . os . Build Ċ import Ġcom . google . common . truth . Truth . assertThat Ċ import Ġcom . stripe . android . model . CountryCode Ċ import Ġcom . stripe . android . model . get CountryCode Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . ro bo lectric . Ro bo lectric TestRunner Ċ import Ġorg . ro bo lectric . annotation . Config Ċ import Ġjava . util . Locale Ċ import Ġkotlin . test . Test Ċ Ċ /** Ċ Ġ* ĠTest Ġclass Ġfor Ġ[ Country Utils ] Ċ Ġ*/ Ċ @ RunWith ( Ro bo lectric TestRunner :: class ) Ċ @ Config ( sdk Ġ= Ġ[ Build . VERSION _ CODES . P ]) Ċ class ĠCountry UtilsTest Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` does Country Use Postal Code () Ġshould Ġreturn Ġexpected Ġresult `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( Country Utils . does Country Use Postal Code ( CountryCode . create (" US "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. isTrue () ĊĠĠĠĠĠĠĠ ĠassertThat ( Country Utils . does Country Use Postal Code ( CountryCode . create (" GB "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. isTrue () ĊĠĠĠĠĠĠĠ ĠassertThat ( Country Utils . does Country Use Postal Code ( CountryCode . create (" CA "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. isTrue () ĊĠĠĠĠĠĠĠ ĠassertThat ( Country Utils . does Country Use Postal Code ( CountryCode . create (" DM "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. isFalse () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Ordered Countries () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCountry Utils . get Ordered Countries ( Locale . getDefault ())[ 0 ]. code ĊĠĠĠĠĠĠĠ Ġ). isEqualTo ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLocale . getDefault (). get CountryCode () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` getDisplay Country () Ġshould Ġreturn Ġexpected Ġresult `() Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġcurrent Locale Ġ= ĠLocale . US ĊĠĠĠĠĠĠĠ ĠassertThat ( Country Utils . getDisplay Country ( CountryCode . US , Ġcurrent Locale )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (" United ĠStates ") ĊĠĠĠĠĠĠĠ ĠassertThat ( Country Utils . getDisplay Country ( CountryCode . GB , Ġcurrent Locale )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (" United ĠKing dom ") ĊĠĠĠĠĠĠĠ ĠassertThat ( Country Utils . getDisplay Country ( CountryCode . CA , Ġcurrent Locale )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (" Can ada ") ĊĠĠĠĠĠĠĠ ĠassertThat ( Country Utils . getDisplay Country ( CountryCode . create (" DM "), Ġcurrent Locale )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (" Dom in ica ") ĊĠĠĠĠĠĠĠ ĠassertThat ( Country Utils . getDisplay Country ( CountryCode . create (" DM d "), Ġcurrent Locale )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (" D MD ") ĊĊĠĠĠĠĠĠĠ Ġcurrent Locale Ġ= ĠLocale (" de ", Ġ" DE ") ĊĠĠĠĠĠĠĠ ĠassertThat ( Country Utils . getDisplay Country ( CountryCode . create (" DE "), Ġcurrent Locale )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (" De ut sch land ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ordered Countries Locale Language () Ġin Ġthe Ġlanguage Ġof Ġthe Ġcurrent Ġlocale `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Locale Ġ= ĠLocale (" de ", Ġ" DE ") ĊĠĠĠĠĠĠĠ Ġval Ġger many Ġ= ĠCountry Utils . get Ordered Countries ( current Locale ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. first OrNull () ĊĊĠĠĠĠĠĠĠ Ġ// ĠIf Ġthe Ġcurrent Ġlocale Ġis Ġger many Ġit Ġshould Ġbe Ġfirst Ġin Ġthe Ġlist , Ġand Ġthe Ġger man ĊĠĠĠĠĠĠĠ Ġ// Ġword Ġfor Ġger many ĊĠĠĠĠĠĠĠ ĠassertThat ( ger many ?. name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (" De ut sch land ") ĊĠĠĠ Ġ} Ċ } Ċ