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