def testGetDescriptionForKoreanNumber(self): self.assertEqual("Seoul", description_for_number(KO_NUMBER1, _ENGLISH)) self.assertEqual("Incheon", description_for_number(KO_NUMBER2, _ENGLISH)) self.assertEqual("Jeju", description_for_number(KO_NUMBER3, _ENGLISH)) self.assertEqual(u"\uC11C\uC6B8", description_for_number(KO_NUMBER1, _KOREAN)) self.assertEqual(u"\uC778\uCC9C", description_for_number(KO_NUMBER2, _KOREAN))
def testGetDescriptionForNumber_en_US(self): self.assertEqual( "CA", description_for_number(US_NUMBER1, _ENGLISH, region=_USA)) self.assertEqual( "Mountain View, CA", description_for_number(US_NUMBER2, _ENGLISH, region=_USA)) self.assertEqual( "New York, NY", description_for_number(US_NUMBER3, _ENGLISH, region=_USA))
def testGetDescriptionForFallBack(self): # No fallback, as the location name for the given phone number is # available in the requested language. self.assertEqual("Kalifornien", description_for_number(US_NUMBER1, _GERMAN)) # German falls back to English. self.assertEqual("New York, NY", description_for_number(US_NUMBER3, _GERMAN)) # Italian falls back to English. self.assertEqual("CA", description_for_number(US_NUMBER1, _ITALIAN)) # Korean doesn't fall back to English. self.assertEqual(u"\uB300\uD55C\uBBFC\uAD6D", description_for_number(KO_NUMBER3, _KOREAN))
def testCoverage(self): # Python version extra tests invalid_number = PhoneNumber(country_code=210, national_number=123456L) self.assertEqual("", country_name_for_number(invalid_number, "en")) # Ensure we exercise all public entrypoints directly self.assertEqual("CA", area_description_for_number(US_NUMBER1, "en")) self.assertEqual("CA", description_for_valid_number(US_NUMBER1, "en")) self.assertEqual("", description_for_valid_number(US_INVALID_NUMBER, "en")) # Add in some script and region specific fictional names TEST_GEOCODE_DATA['1650960'] = { 'en': u'Mountain View, CA', "en_GB": u'Mountain View California', "en_US": u'Mountain View, Sunny California', "en_Latn": u'MountainView' } # The following test might one day return "Mountain View California" self.assertEqual( "United States", description_for_number(US_NUMBER2, _ENGLISH, region="GB")) self.assertEqual( "Mountain View, Sunny California", description_for_number(US_NUMBER2, _ENGLISH, region="US")) self.assertEqual( "MountainView", description_for_number(US_NUMBER2, _ENGLISH, script="Latn")) self.assertEqual( "United States", description_for_number(US_NUMBER2, _ENGLISH, script="Latn", region="GB")) # Get a different result when there is a script-specific variant self.assertEqual( "MountainView", description_for_number(US_NUMBER2, _ENGLISH, script="Latn", region="US")) TEST_GEOCODE_DATA['1650960'] = {'en': u'Mountain View, CA'}
def testGetDescriptionForNumberWithNoDataFile(self): # No data file containing mappings for US numbers is available in Chinese for the unittests. As # a result, the country name of United States in simplified Chinese is returned. self.assertEqual( u"\u7F8E\u56FD", description_for_number(US_NUMBER1, _CHINESE, region=_CHINA)) self.assertEqual( "Bahamas", description_for_number(BS_NUMBER1, _ENGLISH, region=_USA)) self.assertEqual( "Australia", description_for_number(AU_NUMBER, _ENGLISH, region=_USA)) self.assertEqual( "", description_for_number(NUMBER_WITH_INVALID_COUNTRY_CODE, _ENGLISH, region=_USA)) self.assertEqual( "", description_for_number(INTERNATIONAL_TOLL_FREE, _ENGLISH, region=_USA))
def testGetDescriptionForNumberWithUserRegion(self): # User in Italy, American number. We should just show United States, in # Spanish, and not more detailed information. self.assertEqual( "Estados Unidos", description_for_number(US_NUMBER1, _SPANISH, region="IT")) # Unknown region - should just show country name. self.assertEqual( "Estados Unidos", description_for_number(US_NUMBER1, _SPANISH, region="ZZ")) # User in the States, language German, should show detailed data. self.assertEqual( "Kalifornien", description_for_number(US_NUMBER1, _GERMAN, region="US")) # User in the States, language French, no data for French, so we fallback # to English detailed data. self.assertEqual( "CA", description_for_number(US_NUMBER1, _FRENCH, region="US")) # Invalid number - return an empty string. self.assertEqual( "", description_for_number(US_INVALID_NUMBER, _ENGLISH, region="US"))
def testGetDescriptionForInvalidNumber(self): self.assertEqual("", description_for_number(KO_INVALID_NUMBER, _ENGLISH)) self.assertEqual("", description_for_number(US_INVALID_NUMBER, _ENGLISH))
def testGetDescriptionForNumberWithMissingPrefix(self): # Test that the name of the country is returned when the number passed in # is valid but not covered by the geocoding data file. self.assertEqual( "United States", description_for_number(US_NUMBER4, _ENGLISH, region=_USA))
def testCoverage(self): # Python version extra tests invalid_number = PhoneNumber(country_code=210, national_number=123456L) self.assertEqual("", country_name_for_number(invalid_number, "en")) # Ensure we exercise all public entrypoints directly self.assertEqual("CA", _area_description_for_number(US_NUMBER1, "en")) self.assertEqual("CA", description_for_valid_number(US_NUMBER1, "en")) self.assertEqual("", description_for_valid_number(US_INVALID_NUMBER, "en")) # Add in some script and region specific fictional names TEST_GEOCODE_DATA['1650960'] = { 'en': u'Mountain View, CA', "en_GB": u'Mountain View California', "en_US": u'Mountain View, Sunny California', "en_Xyzz_US": u'MTV - xyzz', "en_Latn": u'MountainView' } # The following test might one day return "Mountain View California" self.assertEqual( "United States", description_for_number(US_NUMBER2, _ENGLISH, region="GB")) self.assertEqual( "Mountain View, Sunny California", description_for_number(US_NUMBER2, _ENGLISH, region="US")) self.assertEqual( "MountainView", description_for_number(US_NUMBER2, _ENGLISH, script="Latn")) self.assertEqual( "United States", description_for_number(US_NUMBER2, _ENGLISH, script="Latn", region="GB")) self.assertEqual( "MTV - xyzz", description_for_number(US_NUMBER2, _ENGLISH, script="Xyzz", region="US")) self.assertEqual( "Mountain View, Sunny California", description_for_number(US_NUMBER2, _ENGLISH, script="Zazz", region="US")) # Get a different result when there is a script-specific variant self.assertEqual( "MountainView", description_for_number(US_NUMBER2, _ENGLISH, script="Latn", region="US")) TEST_GEOCODE_DATA['1650960'] = {'en': u'Mountain View, CA'} # Test the locale mapping TEST_GEOCODE_DATA['8868'] = { 'zh': u'Chinese', 'zh_Hant': u'Hant-specific' } tw_number = FrozenPhoneNumber(country_code=886, national_number=810080123) self.assertEqual("Hant-specific", description_for_number(tw_number, "zh", region="TW")) del TEST_GEOCODE_DATA['8868']
def testGetDescriptionForArgentinianMobileNumber(self): self.assertEqual("La Plata", description_for_number(AR_MOBILE_NUMBER, _ENGLISH))