1/* 2 * Copyright (C) 2015 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package com.android.documentsui.dirlist; 18 19import android.app.PendingIntent; 20import android.content.Context; 21import android.database.Cursor; 22import android.support.test.filters.MediumTest; 23import android.test.AndroidTestCase; 24 25import com.android.documentsui.ActionHandler; 26import com.android.documentsui.Model; 27import com.android.documentsui.base.Features; 28import com.android.documentsui.base.State; 29import com.android.documentsui.testing.TestActionHandler; 30import com.android.documentsui.testing.TestEnv; 31import com.android.documentsui.testing.TestFileTypeLookup; 32 33@MediumTest 34public class ModelBackedDocumentsAdapterTest extends AndroidTestCase { 35 36 private static final String AUTHORITY = "test_authority"; 37 38 private TestEnv mEnv; 39 private ActionHandler mActionHandler; 40 private ModelBackedDocumentsAdapter mAdapter; 41 42 public void setUp() { 43 44 final Context testContext = TestContext.createStorageTestContext(getContext(), AUTHORITY); 45 mEnv = TestEnv.create(AUTHORITY); 46 mActionHandler = new TestActionHandler(); 47 48 DocumentsAdapter.Environment env = new TestEnvironment(testContext); 49 50 mAdapter = new ModelBackedDocumentsAdapter( 51 env, new IconHelper(testContext, State.MODE_GRID), new TestFileTypeLookup()); 52 mAdapter.getModelUpdateListener().accept(Model.Update.UPDATE); 53 } 54 55 // Tests that the item count is correct. 56 public void testItemCount() { 57 assertEquals(mEnv.model.getItemCount(), mAdapter.getItemCount()); 58 } 59 60 private final class TestEnvironment implements DocumentsAdapter.Environment { 61 private final Context testContext; 62 63 @Override 64 public Features getFeatures() { 65 return mEnv.features; 66 } 67 68 @Override 69 public ActionHandler getActionHandler() { return mActionHandler; } 70 71 private TestEnvironment(Context testContext) { 72 this.testContext = testContext; 73 } 74 75 @Override 76 public boolean isSelected(String id) { 77 return false; 78 } 79 80 @Override 81 public boolean isDocumentEnabled(String mimeType, int flags) { 82 return true; 83 } 84 85 @Override 86 public void initDocumentHolder(DocumentHolder holder) {} 87 88 @Override 89 public Model getModel() { 90 return mEnv.model; 91 } 92 93 @Override 94 public State getDisplayState() { 95 return null; 96 } 97 98 @Override 99 public boolean isInSearchMode() { 100 return false; 101 } 102 103 @Override 104 public Context getContext() { 105 return testContext; 106 } 107 108 @Override 109 public int getColumnCount() { 110 return 4; 111 } 112 113 @Override 114 public void onBindDocumentHolder(DocumentHolder holder, Cursor cursor) {} 115 } 116} 117