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 185f363a8136349b242d243c3c0c14e6d5a065d23fDaisuke Miyakawaimport android.test.AndroidTestCase; 195f363a8136349b242d243c3c0c14e6d5a065d23fDaisuke Miyakawa 204199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport junit.framework.TestCase; 214199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 224199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport java.util.ArrayList; 234199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 24677ef21613a9d35053ec098444832ce4125a847eDaisuke Miyakawapublic class LineVerifier { 255f363a8136349b242d243c3c0c14e6d5a065d23fDaisuke Miyakawa private final AndroidTestCase mAndroidTestCase; 264199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa private final ArrayList<LineVerifierElem> mLineVerifierElemList; 274199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa private int mVCardType; 284199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa private int index; 294199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 305f363a8136349b242d243c3c0c14e6d5a065d23fDaisuke Miyakawa public LineVerifier(AndroidTestCase androidTestCase, int vcardType) { 315f363a8136349b242d243c3c0c14e6d5a065d23fDaisuke Miyakawa mAndroidTestCase = androidTestCase; 324199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mLineVerifierElemList = new ArrayList<LineVerifierElem>(); 334199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVCardType = vcardType; 344199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 354199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 364199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public LineVerifierElem addLineVerifierElem() { 375f363a8136349b242d243c3c0c14e6d5a065d23fDaisuke Miyakawa LineVerifierElem lineVerifier = new LineVerifierElem(mAndroidTestCase, mVCardType); 384199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mLineVerifierElemList.add(lineVerifier); 394199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa return lineVerifier; 404199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 414199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 424199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void verify(String vcard) { 434199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa if (index >= mLineVerifierElemList.size()) { 445f363a8136349b242d243c3c0c14e6d5a065d23fDaisuke Miyakawa TestCase.fail("Insufficient number of LineVerifier (" + index + ")"); 454199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 464199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 475f363a8136349b242d243c3c0c14e6d5a065d23fDaisuke Miyakawa final LineVerifierElem lineVerifier = mLineVerifierElemList.get(index); 484199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa lineVerifier.verify(vcard); 494199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 504199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa index++; 514199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 524199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa} 53