/* * Copyright (C) 2011 The Libphonenumber Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.i18n.phonenumbers; /** * Unit tests for ShortNumberUtil.java * * @author Shaopeng Jia */ public class ShortNumberUtilTest extends TestMetadataTestCase { private ShortNumberUtil shortUtil; public ShortNumberUtilTest() { shortUtil = new ShortNumberUtil(phoneUtil); } public void testConnectsToEmergencyNumber_US() { assertTrue(shortUtil.connectsToEmergencyNumber("911", RegionCode.US)); assertTrue(shortUtil.connectsToEmergencyNumber("119", RegionCode.US)); assertFalse(shortUtil.connectsToEmergencyNumber("999", RegionCode.US)); } public void testConnectsToEmergencyNumberLongNumber_US() { assertTrue(shortUtil.connectsToEmergencyNumber("9116666666", RegionCode.US)); assertTrue(shortUtil.connectsToEmergencyNumber("1196666666", RegionCode.US)); assertFalse(shortUtil.connectsToEmergencyNumber("9996666666", RegionCode.US)); } public void testConnectsToEmergencyNumberWithFormatting_US() { assertTrue(shortUtil.connectsToEmergencyNumber("9-1-1", RegionCode.US)); assertTrue(shortUtil.connectsToEmergencyNumber("1-1-9", RegionCode.US)); assertFalse(shortUtil.connectsToEmergencyNumber("9-9-9", RegionCode.US)); } public void testConnectsToEmergencyNumberWithPlusSign_US() { assertFalse(shortUtil.connectsToEmergencyNumber("+911", RegionCode.US)); assertFalse(shortUtil.connectsToEmergencyNumber("\uFF0B911", RegionCode.US)); assertFalse(shortUtil.connectsToEmergencyNumber(" +911", RegionCode.US)); assertFalse(shortUtil.connectsToEmergencyNumber("+119", RegionCode.US)); assertFalse(shortUtil.connectsToEmergencyNumber("+999", RegionCode.US)); } public void testConnectsToEmergencyNumber_BR() { assertTrue(shortUtil.connectsToEmergencyNumber("911", RegionCode.BR)); assertTrue(shortUtil.connectsToEmergencyNumber("190", RegionCode.BR)); assertFalse(shortUtil.connectsToEmergencyNumber("999", RegionCode.BR)); } public void testConnectsToEmergencyNumberLongNumber_BR() { // Brazilian emergency numbers don't work when additional digits are appended. assertFalse(shortUtil.connectsToEmergencyNumber("9111", RegionCode.BR)); assertFalse(shortUtil.connectsToEmergencyNumber("1900", RegionCode.BR)); assertFalse(shortUtil.connectsToEmergencyNumber("9996", RegionCode.BR)); } public void testConnectsToEmergencyNumber_AO() { // Angola doesn't have any metadata for emergency numbers in the test metadata. assertFalse(shortUtil.connectsToEmergencyNumber("911", RegionCode.AO)); assertFalse(shortUtil.connectsToEmergencyNumber("222123456", RegionCode.AO)); assertFalse(shortUtil.connectsToEmergencyNumber("923123456", RegionCode.AO)); } public void testConnectsToEmergencyNumber_ZW() { // Zimbabwe doesn't have any metadata in the test metadata. assertFalse(shortUtil.connectsToEmergencyNumber("911", RegionCode.ZW)); assertFalse(shortUtil.connectsToEmergencyNumber("01312345", RegionCode.ZW)); assertFalse(shortUtil.connectsToEmergencyNumber("0711234567", RegionCode.ZW)); } public void testIsEmergencyNumber_US() { assertTrue(shortUtil.isEmergencyNumber("911", RegionCode.US)); assertTrue(shortUtil.isEmergencyNumber("119", RegionCode.US)); assertFalse(shortUtil.isEmergencyNumber("999", RegionCode.US)); } public void testIsEmergencyNumberLongNumber_US() { assertFalse(shortUtil.isEmergencyNumber("9116666666", RegionCode.US)); assertFalse(shortUtil.isEmergencyNumber("1196666666", RegionCode.US)); assertFalse(shortUtil.isEmergencyNumber("9996666666", RegionCode.US)); } public void testIsEmergencyNumberWithFormatting_US() { assertTrue(shortUtil.isEmergencyNumber("9-1-1", RegionCode.US)); assertTrue(shortUtil.isEmergencyNumber("*911", RegionCode.US)); assertTrue(shortUtil.isEmergencyNumber("1-1-9", RegionCode.US)); assertTrue(shortUtil.isEmergencyNumber("*119", RegionCode.US)); assertFalse(shortUtil.isEmergencyNumber("9-9-9", RegionCode.US)); assertFalse(shortUtil.isEmergencyNumber("*999", RegionCode.US)); } public void testIsEmergencyNumberWithPlusSign_US() { assertFalse(shortUtil.isEmergencyNumber("+911", RegionCode.US)); assertFalse(shortUtil.isEmergencyNumber("\uFF0B911", RegionCode.US)); assertFalse(shortUtil.isEmergencyNumber(" +911", RegionCode.US)); assertFalse(shortUtil.isEmergencyNumber("+119", RegionCode.US)); assertFalse(shortUtil.isEmergencyNumber("+999", RegionCode.US)); } public void testIsEmergencyNumber_BR() { assertTrue(shortUtil.isEmergencyNumber("911", RegionCode.BR)); assertTrue(shortUtil.isEmergencyNumber("190", RegionCode.BR)); assertFalse(shortUtil.isEmergencyNumber("999", RegionCode.BR)); } public void testIsEmergencyNumberLongNumber_BR() { assertFalse(shortUtil.isEmergencyNumber("9111", RegionCode.BR)); assertFalse(shortUtil.isEmergencyNumber("1900", RegionCode.BR)); assertFalse(shortUtil.isEmergencyNumber("9996", RegionCode.BR)); } public void testIsEmergencyNumber_AO() { // Angola doesn't have any metadata for emergency numbers in the test metadata. assertFalse(shortUtil.isEmergencyNumber("911", RegionCode.AO)); assertFalse(shortUtil.isEmergencyNumber("222123456", RegionCode.AO)); assertFalse(shortUtil.isEmergencyNumber("923123456", RegionCode.AO)); } public void testIsEmergencyNumber_ZW() { // Zimbabwe doesn't have any metadata in the test metadata. assertFalse(shortUtil.isEmergencyNumber("911", RegionCode.ZW)); assertFalse(shortUtil.isEmergencyNumber("01312345", RegionCode.ZW)); assertFalse(shortUtil.isEmergencyNumber("0711234567", RegionCode.ZW)); } }