def testGetExpectedCost(self): premiumRateExample = shortnumberinfo._example_short_number_for_cost("FR", ShortNumberCost.PREMIUM_RATE) self.assertEqual(ShortNumberCost.PREMIUM_RATE, expected_cost_for_region(_parse(premiumRateExample, "FR"), "FR")) premiumRateNumber = PhoneNumber(country_code=33, national_number=int(premiumRateExample)) self.assertEqual(ShortNumberCost.PREMIUM_RATE, expected_cost(premiumRateNumber)) standardRateExample = shortnumberinfo._example_short_number_for_cost("FR", ShortNumberCost.STANDARD_RATE) self.assertEqual(ShortNumberCost.STANDARD_RATE, expected_cost_for_region(_parse(standardRateExample, "FR"), "FR")) standardRateNumber = PhoneNumber(country_code=33, national_number=int(standardRateExample)) self.assertEqual(ShortNumberCost.STANDARD_RATE, expected_cost(standardRateNumber)) tollFreeExample = shortnumberinfo._example_short_number_for_cost("FR", ShortNumberCost.TOLL_FREE) self.assertEqual(ShortNumberCost.TOLL_FREE, expected_cost_for_region(_parse(tollFreeExample, "FR"), "FR")) tollFreeNumber = PhoneNumber(country_code=33, national_number=int(tollFreeExample)) self.assertEqual(ShortNumberCost.TOLL_FREE, expected_cost(tollFreeNumber)) self.assertEqual(ShortNumberCost.UNKNOWN_COST, expected_cost_for_region(_parse("12345", "FR"), "FR")) unknownCostNumber = PhoneNumber(country_code=33, national_number=12345) self.assertEqual(ShortNumberCost.UNKNOWN_COST, expected_cost(unknownCostNumber)) # Test that an invalid number may nevertheless have a cost other than UNKNOWN_COST. self.assertFalse(is_valid_short_number_for_region("116123", "FR")) invalidNumber = PhoneNumber(country_code=33, national_number=116123) self.assertEqual(ShortNumberCost.TOLL_FREE, expected_cost_for_region(_parse("116123", "FR"), "FR")) self.assertFalse(is_valid_short_number(invalidNumber)) self.assertEqual(ShortNumberCost.TOLL_FREE, expected_cost(invalidNumber)) # Test a nonexistent country code. self.assertEqual(ShortNumberCost.UNKNOWN_COST, expected_cost_for_region(_parse("911", "US"), "ZZ")) unknownCostNumber.country_code = 123 unknownCostNumber.national_number = 911 self.assertEqual(ShortNumberCost.UNKNOWN_COST, expected_cost(unknownCostNumber))
def testGetExpectedCost(self): premiumRateExample = shortnumberinfo._example_short_number_for_cost("FR", ShortNumberCost.PREMIUM_RATE) self.assertEqual(ShortNumberCost.PREMIUM_RATE, expected_cost_for_region(_parse(premiumRateExample, "FR"), "FR")) premiumRateNumber = PhoneNumber(country_code=33, national_number=int(premiumRateExample)) self.assertEqual(ShortNumberCost.PREMIUM_RATE, expected_cost(premiumRateNumber)) standardRateExample = shortnumberinfo._example_short_number_for_cost("FR", ShortNumberCost.STANDARD_RATE) self.assertEqual(ShortNumberCost.STANDARD_RATE, expected_cost_for_region(_parse(standardRateExample, "FR"), "FR")) standardRateNumber = PhoneNumber(country_code=33, national_number=int(standardRateExample)) self.assertEqual(ShortNumberCost.STANDARD_RATE, expected_cost(standardRateNumber)) tollFreeExample = shortnumberinfo._example_short_number_for_cost("FR", ShortNumberCost.TOLL_FREE) self.assertEqual(ShortNumberCost.TOLL_FREE, expected_cost_for_region(_parse(tollFreeExample, "FR"), "FR")) tollFreeNumber = PhoneNumber(country_code=33, national_number=int(tollFreeExample)) self.assertEqual(ShortNumberCost.TOLL_FREE, expected_cost(tollFreeNumber)) self.assertEqual(ShortNumberCost.UNKNOWN_COST, expected_cost_for_region(_parse("12345", "FR"), "FR")) unknownCostNumber = PhoneNumber(country_code=33, national_number=12345) self.assertEqual(ShortNumberCost.UNKNOWN_COST, expected_cost(unknownCostNumber)) # Test that an invalid number may nevertheless have a cost other than UNKNOWN_COST. self.assertFalse(is_valid_short_number_for_region(_parse("116123", "FR"), "FR")) invalidNumber = PhoneNumber(country_code=33, national_number=116123) self.assertEqual(ShortNumberCost.TOLL_FREE, expected_cost_for_region(_parse("116123", "FR"), "FR")) self.assertFalse(is_valid_short_number(invalidNumber)) self.assertEqual(ShortNumberCost.TOLL_FREE, expected_cost(invalidNumber)) # Test a nonexistent country code. self.assertEqual(ShortNumberCost.UNKNOWN_COST, expected_cost_for_region(_parse("911", "US"), "ZZ")) unknownCostNumber.country_code = 123 unknownCostNumber.national_number = 911 self.assertEqual(ShortNumberCost.UNKNOWN_COST, expected_cost(unknownCostNumber))