LineVerifier.java revision 4199c54c527330ac01699b176e7bca186a3aa3a4
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 */ 164199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawapackage com.android.vcard.tests.test_utils; 174199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 184199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport com.android.vcard.VCardComposer; 194199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 204199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport android.content.Context; 214199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 224199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport junit.framework.TestCase; 234199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 244199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawaimport java.util.ArrayList; 254199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 264199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawapublic class LineVerifier implements VCardComposer.OneEntryHandler { 274199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa private final TestCase mTestCase; 284199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa private final ArrayList<LineVerifierElem> mLineVerifierElemList; 294199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa private int mVCardType; 304199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa private int index; 314199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 324199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public LineVerifier(TestCase testCase, int vcardType) { 334199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mTestCase = testCase; 344199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mLineVerifierElemList = new ArrayList<LineVerifierElem>(); 354199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mVCardType = vcardType; 364199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 374199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 384199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public LineVerifierElem addLineVerifierElem() { 394199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa LineVerifierElem lineVerifier = new LineVerifierElem(mTestCase, mVCardType); 404199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mLineVerifierElemList.add(lineVerifier); 414199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa return lineVerifier; 424199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 434199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 444199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void verify(String vcard) { 454199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa if (index >= mLineVerifierElemList.size()) { 464199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa mTestCase.fail("Insufficient number of LineVerifier (" + index + ")"); 474199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 484199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 494199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa LineVerifierElem lineVerifier = mLineVerifierElemList.get(index); 504199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa lineVerifier.verify(vcard); 514199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 524199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa index++; 534199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 544199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 554199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public boolean onEntryCreated(String vcard) { 564199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa verify(vcard); 574199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa return true; 584199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 594199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 604199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public boolean onInit(Context context) { 614199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa return true; 624199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 634199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa 644199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa public void onTerminate() { 654199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa } 664199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa} 67