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.test.AndroidTestCase;
194199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa
204199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport com.android.vcard.VCardEntry;
214199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport com.android.vcard.VCardEntryHandler;
224199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa
234199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport java.util.ArrayList;
244199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport java.util.List;
254199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa
264199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawapublic class ContentValuesVerifier implements VCardEntryHandler {
274199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa    private List<ContentValuesVerifierElem> mContentValuesVerifierElemList =
284199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa        new ArrayList<ContentValuesVerifierElem>();
294199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa    private int mIndex;
304199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa
314199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa    public ContentValuesVerifierElem addElem(AndroidTestCase androidTestCase) {
324560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa        ContentValuesVerifierElem elem = new ContentValuesVerifierElem(androidTestCase);
334560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa        mContentValuesVerifierElemList.add(elem);
344560bdde6dd75cca49fc55b58aafb5d416b88ca3Daisuke Miyakawa        return elem;
354199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa    }
364199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa
37677ef21613a9d35053ec098444832ce4125a847eDaisuke Miyakawa    @Override
384199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa    public void onStart() {
394199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa        for (ContentValuesVerifierElem elem : mContentValuesVerifierElemList) {
404199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa            elem.onParsingStart();
414199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa        }
424199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa    }
434199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa
44677ef21613a9d35053ec098444832ce4125a847eDaisuke Miyakawa    @Override
454199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa    public void onEntryCreated(VCardEntry entry) {
46be378d5b188f51cf717e5309e3c39180e85833a8Daisuke Miyakawa        AndroidTestCase.assertTrue(mIndex < mContentValuesVerifierElemList.size());
474199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa        mContentValuesVerifierElemList.get(mIndex).onEntryCreated(entry);
484199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa        mIndex++;
494199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa    }
504199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa
51677ef21613a9d35053ec098444832ce4125a847eDaisuke Miyakawa    @Override
524199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa    public void onEnd() {
534199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa        for (ContentValuesVerifierElem elem : mContentValuesVerifierElemList) {
544199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa            elem.onParsingEnd();
554199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa            elem.verifyResolver();
564199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa        }
574199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa    }
584199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa}
59