[TestMethod] public void testEmergency()
        {
            int wrongTypeCounter = 0;

            foreach (String regionCode in shortNumberInfo.getSupportedRegions())
            {
                if (regionCode == RegionCode.PG)
                {
                    // The only short number for Papua New Guinea is 000, which fails the test, since the
                    // national prefix is 0. This needs to be fixed.
                    continue;
                }
                PhoneNumberDesc desc =
                    MetadataManager.getShortNumberMetadataForRegion(regionCode).getEmergency();
                if (desc.hasExampleNumber())
                {
                    String exampleNumber = desc.getExampleNumber();
                    if (!exampleNumber.matches(desc.getPossibleNumberPattern()) ||
                        !shortNumberInfo.isEmergencyNumber(exampleNumber, regionCode))
                    {
                        wrongTypeCounter++;
                        LOGGER.log(Level.SEVERE, "Emergency example number test failed for " + regionCode);
                    }
                    else
                    {
                        PhoneNumber emergencyNumber = phoneNumberUtil.parse(exampleNumber, regionCode);
                        if (shortNumberInfo.getExpectedCost(emergencyNumber) !=
                            ShortNumberInfo.ShortNumberCost.TOLL_FREE)
                        {
                            wrongTypeCounter++;
                            LOGGER.log(Level.SEVERE, "Emergency example number not toll free for " + regionCode);
                        }
                    }
                }
            }
            assertEquals(0, wrongTypeCounter);
        }
示例#2
0
 [TestMethod] public void testIsEmergencyNumber_US()
 {
     assertTrue(shortInfo.isEmergencyNumber("911", RegionCode.US));
     assertTrue(shortInfo.isEmergencyNumber("112", RegionCode.US));
     assertFalse(shortInfo.isEmergencyNumber("999", RegionCode.US));
 }