14199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa/* 24199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * Copyright (C) 2009 The Android Open Source Project 34199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * 44199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * Licensed under the Apache License, Version 2.0 (the "License"); 54199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * you may not use this file except in compliance with the License. 64199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * You may obtain a copy of the License at 74199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * 84199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * http://www.apache.org/licenses/LICENSE-2.0 94199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * 104199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * Unless required by applicable law or agreed to in writing, software 114199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * distributed under the License is distributed on an "AS IS" BASIS, 124199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * See the License for the specific language governing permissions and 144199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * limitations under the License. 154199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa */ 16677ef21613a9d35053ec098444832ce4125a847eDaisuke Miyakawapackage com.android.vcard.tests.testutils; 174199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 184199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport android.content.ContentProviderOperation; 194199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport android.content.ContentProviderResult; 204199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport android.content.ContentValues; 214199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport android.provider.ContactsContract.RawContacts; 225f363a8136349b242d243c3c0c14e6d5a065d23fDaisuke Miyakawaimport android.test.AndroidTestCase; 234199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport android.test.mock.MockContentResolver; 244199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 254199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport java.util.ArrayList; 264199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 271680191a2a208fd61123810a88ce9def83e222baDaisuke Miyakawapublic class ImportTestResolver extends MockContentResolver { 284199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa private final ImportTestProvider mProvider; 294199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 305f363a8136349b242d243c3c0c14e6d5a065d23fDaisuke Miyakawa public ImportTestResolver(AndroidTestCase androidTestCase) { 311de396f6df89363169d3a2e61a61fa98d12c1ef8Daisuke Miyakawa mProvider = new ImportTestProvider(); 324199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 334199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 344199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa @Override 354199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public ContentProviderResult[] applyBatch(String authority, 364199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa ArrayList<ContentProviderOperation> operations) { 374199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa equalsString(authority, RawContacts.CONTENT_URI.toString()); 384199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa return mProvider.applyBatch(operations); 394199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 404199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 414199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void addExpectedContentValues(ContentValues expectedContentValues) { 424199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mProvider.addExpectedContentValues(expectedContentValues); 434199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 444199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 454199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void verify() { 464199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mProvider.verify(); 474199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 484199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 494199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa private static boolean equalsString(String a, String b) { 504199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa if (a == null || a.length() == 0) { 514199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa return b == null || b.length() == 0; 524199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } else { 534199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa return a.equals(b); 544199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 554199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 564199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa} 57