diff options
Diffstat (limited to 'tests/src/com/android/dialer/calllog/GroupingListAdapterTests.java')
-rw-r--r-- | tests/src/com/android/dialer/calllog/GroupingListAdapterTests.java | 173 |
1 files changed, 0 insertions, 173 deletions
diff --git a/tests/src/com/android/dialer/calllog/GroupingListAdapterTests.java b/tests/src/com/android/dialer/calllog/GroupingListAdapterTests.java deleted file mode 100644 index 4d8cb9cc0..000000000 --- a/tests/src/com/android/dialer/calllog/GroupingListAdapterTests.java +++ /dev/null @@ -1,173 +0,0 @@ -/* - * Copyright (C) 2015 The Android Open Source Project - * - * 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.dialer.calllog; - -import android.content.Context; -import android.database.Cursor; -import android.database.MatrixCursor; -import android.support.v7.widget.RecyclerView; -import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.MediumTest; -import android.text.TextUtils; -import android.view.View; -import android.view.ViewGroup; - -/** - * Tests for {@link GroupingListAdapter}. - * - * Running all tests: - * - * adb shell am instrument -e class com.android.dialer.calllog.GroupingListAdapterTests \ - * -w com.android.dialer.tests/android.test.InstrumentationTestRunner - */ -@MediumTest -public class GroupingListAdapterTests extends AndroidTestCase { - - static private final String[] PROJECTION = new String[] { - "_id", - "group", - }; - - private static final int GROUPING_COLUMN_INDEX = 1; - - private MatrixCursor mCursor; - private long mNextId; - - private GroupingListAdapter mAdapter = new GroupingListAdapter(null) { - - @Override - protected void addGroups(Cursor cursor) { - int count = cursor.getCount(); - int groupItemCount = 1; - cursor.moveToFirst(); - String currentValue = cursor.getString(GROUPING_COLUMN_INDEX); - for (int i = 1; i < count; i++) { - cursor.moveToNext(); - String value = cursor.getString(GROUPING_COLUMN_INDEX); - if (TextUtils.equals(value, currentValue)) { - groupItemCount++; - } else { - addGroup(i - groupItemCount, groupItemCount); - groupItemCount = 1; - currentValue = value; - } - } - addGroup(count - groupItemCount, groupItemCount); - } - - @Override - protected void addVoicemailGroups(Cursor c) { - // Do nothing. - } - - @Override - public void onContentChanged() { - // Do nothing. - } - - @Override - public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int position) { - return null; - } - - @Override - public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) { - // Do nothing. - } - }; - - private void buildCursor(String... numbers) { - mCursor = new MatrixCursor(PROJECTION); - mNextId = 1; - for (String number : numbers) { - mCursor.addRow(new Object[]{mNextId, number}); - mNextId++; - } - } - - public void testGroupingWithoutGroups() { - buildCursor("1", "2", "3"); - mAdapter.changeCursor(mCursor); - - assertEquals(3, mAdapter.getItemCount()); - assertMetadata(0, 1, "1"); - assertMetadata(1, 1, "2"); - assertMetadata(2, 1, "3"); - } - - public void testGroupingWithGroupAtTheBeginning() { - buildCursor("1", "1", "2"); - mAdapter.changeCursor(mCursor); - - assertEquals(2, mAdapter.getItemCount()); - assertMetadata(0, 2, "1"); - assertMetadata(1, 1, "2"); - } - - public void testGroupingWithGroupInTheMiddle() { - buildCursor("1", "2", "2", "2", "3"); - mAdapter.changeCursor(mCursor); - - assertEquals(3, mAdapter.getItemCount()); - assertMetadata(0, 1, "1"); - assertMetadata(1, 3, "2"); - assertMetadata(2, 1, "3"); - } - - public void testGroupingWithGroupAtTheEnd() { - buildCursor("1", "2", "3", "3", "3"); - mAdapter.changeCursor(mCursor); - - assertEquals(3, mAdapter.getItemCount()); - assertMetadata(0, 1, "1"); - assertMetadata(1, 1, "2"); - assertMetadata(2, 3, "3"); - } - - public void testGroupingWithMultipleGroups() { - buildCursor("1", "2", "2", "3", "4", "4", "5", "5", "6"); - mAdapter.changeCursor(mCursor); - - assertEquals(6, mAdapter.getItemCount()); - assertMetadata(0, 1, "1"); - assertMetadata(1, 2, "2"); - assertMetadata(2, 1, "3"); - assertMetadata(3, 2, "4"); - assertMetadata(4, 2, "5"); - assertMetadata(5, 1, "6"); - } - - public void testGroupDescriptorArrayGrowth() { - String[] numbers = new String[500]; - for (int i = 0; i < numbers.length; i++) { - - // Make groups of 2 - numbers[i] = String.valueOf((i / 2) * 2); - } - - buildCursor(numbers); - mAdapter.changeCursor(mCursor); - - assertEquals(250, mAdapter.getItemCount()); - } - - private void assertMetadata(int listPosition, int groupSize, String objectValue) { - assertEquals(groupSize, mAdapter.getGroupSize(listPosition)); - MatrixCursor cursor = (MatrixCursor) mAdapter.getItem(listPosition); - assertEquals(objectValue, cursor.getString(GROUPING_COLUMN_INDEX)); - } -} |