1b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia/*
2b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia * Copyright (C) 2012 The Libphonenumber Authors
3b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia *
4b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia * Licensed under the Apache License, Version 2.0 (the "License");
5b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia * you may not use this file except in compliance with the License.
6b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia * You may obtain a copy of the License at
7b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia *
8b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia * http://www.apache.org/licenses/LICENSE-2.0
9b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia *
10b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia * Unless required by applicable law or agreed to in writing, software
11b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia * distributed under the License is distributed on an "AS IS" BASIS,
12b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia * See the License for the specific language governing permissions and
14b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia * limitations under the License.
15b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia */
16b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia
17a77faddfc3b3e4cca8f585c82d669054aec221f4Narayan Kamathpackage com.google.i18n.phonenumbers;
18b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia
19b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jiaimport junit.framework.TestCase;
20b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia
21b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia/**
22b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia * Root class for PhoneNumberUtil tests that depend on the test metadata file.
23b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia * <p>
24b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia * Note since tests that extend this class do not use the normal metadata file, they should not be
25b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia * used for regression test purposes.
26b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia *
27b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia * @author Shaopeng Jia
28b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia */
29b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jiapublic class TestMetadataTestCase extends TestCase {
3093399cc7a32833de9cb538ef7940eed61a23edcaNeil Fuller  protected static final String TEST_META_DATA_FILE_PREFIX =
319907540e90c6794a028d7e1bd5bab0a6cc4a3e5bNarayan Kamath      "/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting";
32b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia
33b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia  protected final PhoneNumberUtil phoneUtil;
34b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia
35b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia  public TestMetadataTestCase() {
36b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia    phoneUtil = initializePhoneUtilForTesting();
37b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia  }
38b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia
39b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia  static PhoneNumberUtil initializePhoneUtilForTesting() {
409ecee8b74bf330f20a902e4b974eddb7abedd627Shaopeng Jia    PhoneNumberUtil phoneUtil = new PhoneNumberUtil(
41279df210d5a4215ee2273bd23d29de5dc29e8370Neil Fuller        new MultiFileMetadataSourceImpl(TEST_META_DATA_FILE_PREFIX,
42279df210d5a4215ee2273bd23d29de5dc29e8370Neil Fuller            PhoneNumberUtil.DEFAULT_METADATA_LOADER),
43b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia        CountryCodeToRegionCodeMapForTesting.getCountryCodeToRegionCodeMap());
449ecee8b74bf330f20a902e4b974eddb7abedd627Shaopeng Jia    PhoneNumberUtil.setInstance(phoneUtil);
45b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia    return phoneUtil;
46b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia  }
47b0e21c22b1ca6b9aeb1426924cdf42a221c3d416Shaopeng Jia}
48