From fd2447fc8b131ed5bb3a0ee9f23295a124ddd8ba Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Tue, 29 Dec 2015 17:55:15 +0200 Subject: [PATCH] Improve Locale equality and hashing tests --- tests/test_core.py | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/tests/test_core.py b/tests/test_core.py index c887d5f5..48eb9fe7 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -24,18 +24,26 @@ def test_locale_provides_access_to_cldr_locale_data(): assert u'English (United States)' == locale.display_name assert u'.' == locale.number_symbols['decimal'] + def test_locale_repr(): + assert repr(Locale('en', 'US')) == "Locale('en', territory='US')" assert ("Locale('de', territory='DE')" == repr(Locale('de', 'DE'))) assert ("Locale('zh', territory='CN', script='Hans')" == repr(Locale('zh', 'CN', script='Hans'))) def test_locale_comparison(): en_US = Locale('en', 'US') + en_US_2 = Locale('en', 'US') + fi_FI = Locale('fi', 'FI') + bad_en_US = Locale('en_US') assert en_US == en_US + assert en_US == en_US_2 + assert en_US != fi_FI + assert not (en_US != en_US_2) assert None != en_US - - bad_en_US = Locale('en_US') assert en_US != bad_en_US + assert fi_FI != bad_en_US + def test_can_return_default_locale(os_environ): os_environ['LC_MESSAGES'] = 'fr_FR.UTF-8' @@ -55,16 +63,15 @@ def test_get_global(): assert core.get_global('zone_territories')['Europe/Berlin'] == 'DE' -class TestLocaleClass: - - def test_hash(self): - locale_a = Locale('en', 'US') - locale_b = Locale('en', 'US') - assert hash(locale_a) == hash(locale_b) +def test_hash(): + locale_a = Locale('en', 'US') + locale_b = Locale('en', 'US') + locale_c = Locale('fi', 'FI') + assert hash(locale_a) == hash(locale_b) + assert hash(locale_a) != hash(locale_c) - def test_repr(self): - assert repr(Locale('en', 'US')) == "Locale('en', territory='US')" +class TestLocaleClass: def test_attributes(self): locale = Locale('en', 'US') assert locale.language == 'en' @@ -262,6 +269,7 @@ def test_negotiate_locale(): 'ja_JP') assert core.negotiate_locale(['no', 'sv'], ['nb_NO', 'sv_SE']) == 'nb_NO' + def test_parse_locale(): assert core.parse_locale('zh_CN') == ('zh', 'CN', None, None) assert core.parse_locale('zh_Hans_CN') == ('zh', 'CN', 'Hans', None) -- 2.47.2