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