18b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn/*
28b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn * Copyright (C) 2014 The Android Open Source Project
38b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn *
48b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn * Licensed under the Apache License, Version 2.0 (the "License");
58b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn * you may not use this file except in compliance with the License.
68b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn * You may obtain a copy of the License at
78b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn *
88b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn *      http://www.apache.org/licenses/LICENSE-2.0
98b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn *
108b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn * Unless required by applicable law or agreed to in writing, software
118b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn * distributed under the License is distributed on an "AS IS" BASIS,
128b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
138b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn * See the License for the specific language governing permissions and
148b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn * limitations under the License
158b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn */
168b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn
178b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunnpackage com.android.dialer.util;
188b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn
19d3f6a6c56dec7d47bae1121ed1030f67c26736feAndrew Leeimport com.android.dialer.calllog.PhoneCallDetailsHelper;
208b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunnimport com.google.common.collect.Lists;
218b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn
228b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunnimport android.content.Context;
238b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunnimport android.content.res.Resources;
248b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunnimport android.test.AndroidTestCase;
258b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunnimport android.test.suitebuilder.annotation.SmallTest;
268b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn
278b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunnimport java.util.ArrayList;
288b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn
298b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn/**
308b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn * Performs tests of the DialerUtils class.
318b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn */
328b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn@SmallTest
338b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunnpublic class DialerUtilsTest extends AndroidTestCase {
348b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn
358b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn    private Resources mResources;
368b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn
378b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn    /**
388b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn     * List of items to be concatenated together for CharSequence join tests.
398b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn     */
408b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn    private ArrayList<CharSequence> mItems = Lists.newArrayList();
418b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn
428b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn    @Override
438b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn    protected void setUp() throws Exception {
448b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn        super.setUp();
458b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn        Context context = getContext();
468b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn        mResources = context.getResources();
478b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn    }
488b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn
498b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn    /**
508b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn     * Tests joining an empty list of {@link CharSequence}.
518b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn     */
528b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn    public void testJoinEmpty() {
538b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn        mItems.clear();
548b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn        CharSequence joined = DialerUtils.join(mResources, mItems);
558b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn        assertEquals("", joined);
568b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn    }
578b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn
588b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn    /**
598b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn     * Tests joining a list of {@link CharSequence} with a single entry.
608b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn     */
618b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn    public void testJoinOne() {
628b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn        mItems.clear();
638b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn        mItems.add("Hello");
648b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn        CharSequence joined = DialerUtils.join(mResources, mItems);
658b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn        assertEquals("Hello", joined);
668b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn    }
678b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn
688b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn    /**
698b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn     * Tests joining a list of {@link CharSequence} with a multiple entries.
708b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn     */
718b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn    public void testJoinTwo() {
728b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn        mItems.clear();
738b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn        mItems.add("Hello");
748b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn        mItems.add("there");
758b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn        CharSequence joined = DialerUtils.join(mResources, mItems);
768b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn        assertEquals("Hello, there", joined);
778b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn    }
788b0e858d5b4c50813dbe2b5c244e7013814b23ecTyler Gunn}
79