126ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng/* 226ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng * Copyright (C) 2012 The Android Open Source Project 326ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng * 426ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng * Licensed under the Apache License, Version 2.0 (the "License"); 526ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng * you may not use this file except in compliance with the License. 626ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng * You may obtain a copy of the License at 726ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng * 826ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng * http://www.apache.org/licenses/LICENSE-2.0 926ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng * 1026ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng * Unless required by applicable law or agreed to in writing, software 1126ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng * distributed under the License is distributed on an "AS IS" BASIS, 1226ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1326ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng * See the License for the specific language governing permissions and 1426ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng * limitations under the License 1526ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng */ 1626ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng 1726ae5e29d0b54a1888e9607689a31d996ce05691Chiao Chengpackage com.android.contacts.common.util; 1826ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng 1926ae5e29d0b54a1888e9607689a31d996ce05691Chiao Chengimport static android.provider.ContactsContract.CommonDataKinds.Phone; 2026ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng 2126ae5e29d0b54a1888e9607689a31d996ce05691Chiao Chengimport android.test.AndroidTestCase; 2226ae5e29d0b54a1888e9607689a31d996ce05691Chiao Chengimport android.test.suitebuilder.annotation.SmallTest; 2326ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng 2426ae5e29d0b54a1888e9607689a31d996ce05691Chiao Chengimport com.android.contacts.common.R; 2526ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng 2626ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng/** 2726ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng * Unit tests for (@link ContactDisplayUtils} 2826ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng */ 2926ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng@SmallTest 3026ae5e29d0b54a1888e9607689a31d996ce05691Chiao Chengpublic class ContactDisplayUtilTests extends AndroidTestCase { 3126ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng 3226ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng public void testIsCustomPhoneTypeReturnsTrue() { 3326ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng assertTrue(ContactDisplayUtils.isCustomPhoneType(Phone.TYPE_CUSTOM)); 3426ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng assertTrue(ContactDisplayUtils.isCustomPhoneType(Phone.TYPE_ASSISTANT)); 3526ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng } 3626ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng 3726ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng public void testIsCustomPhoneTypeReturnsFalse() { 3826ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng assertFalse(ContactDisplayUtils.isCustomPhoneType(Phone.TYPE_HOME)); 3926ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng assertFalse(ContactDisplayUtils.isCustomPhoneType(Phone.TYPE_FAX_WORK)); 4026ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng assertFalse(ContactDisplayUtils.isCustomPhoneType(Phone.TYPE_MOBILE)); 4126ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng assertFalse(ContactDisplayUtils.isCustomPhoneType(Phone.TYPE_OTHER)); 4226ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng } 4326ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng 4426ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng public void testGetLabelForCallOrSmsReturnsCustomLabel() { 4526ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng final CharSequence smsResult = ContactDisplayUtils.getLabelForCallOrSms(Phone.TYPE_CUSTOM, 4626ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng "expected sms label", ContactDisplayUtils.INTERACTION_SMS, getContext()); 4726ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng assertEquals("expected sms label", smsResult); 4826ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng 4926ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng final CharSequence callResult = ContactDisplayUtils.getLabelForCallOrSms(Phone.TYPE_CUSTOM, 5026ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng "expected call label", ContactDisplayUtils.INTERACTION_CALL, getContext()); 5126ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng assertEquals("expected call label", callResult); 5226ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng } 5326ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng 5426ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng public void testGetLabelForCallOrSmsReturnsCallLabels() { 5526ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng CharSequence result = ContactDisplayUtils.getLabelForCallOrSms(Phone.TYPE_HOME, "", 5626ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng ContactDisplayUtils.INTERACTION_CALL, getContext()); 5726ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng CharSequence expected = getContext().getResources().getText(R.string.call_home); 5826ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng assertEquals(expected, result); 5926ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng 6026ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng result = ContactDisplayUtils.getLabelForCallOrSms(Phone.TYPE_MOBILE, "", 6126ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng ContactDisplayUtils.INTERACTION_CALL, getContext()); 6226ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng expected = getContext().getResources().getText(R.string.call_mobile); 6326ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng assertEquals(expected, result); 6426ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng } 6526ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng 6626ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng public void testGetLabelForCallOrSmsReturnsSmsLabels() { 6726ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng CharSequence result = ContactDisplayUtils.getLabelForCallOrSms(Phone.TYPE_HOME, "", 6826ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng ContactDisplayUtils.INTERACTION_SMS, getContext()); 6926ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng CharSequence expected = getContext().getResources().getText(R.string.sms_home); 7026ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng assertEquals(expected, result); 7126ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng 7226ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng result = ContactDisplayUtils.getLabelForCallOrSms(Phone.TYPE_MOBILE, "", 7326ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng ContactDisplayUtils.INTERACTION_SMS, getContext()); 7426ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng expected = getContext().getResources().getText(R.string.sms_mobile); 7526ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng assertEquals(expected, result); 7626ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng } 7726ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng 7826ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng public void testGetPhoneLabelResourceIdReturnsOther() { 7926ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng assertEquals(R.string.call_other, ContactDisplayUtils.getPhoneLabelResourceId(null)); 8026ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng } 8126ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng 8226ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng public void testGetPhoneLabelResourceIdReturnsMatchHome() { 8326ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng assertEquals(R.string.call_home, ContactDisplayUtils.getPhoneLabelResourceId( 8426ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng Phone.TYPE_HOME)); 8526ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng } 8626ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng 8726ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng public void testGetSmsLabelResourceIdReturnsOther() { 8826ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng assertEquals(R.string.sms_other, ContactDisplayUtils.getSmsLabelResourceId(null)); 8926ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng } 9026ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng 9126ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng public void testGetSmsLabelResourceIdReturnsMatchHome() { 9226ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng assertEquals(R.string.sms_home, ContactDisplayUtils.getSmsLabelResourceId(Phone.TYPE_HOME)); 9326ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng } 9426ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng 9526ae5e29d0b54a1888e9607689a31d996ce05691Chiao Cheng} 96