/* * CDDL HEADER START * * The contents of this file are subject to the terms of the Common Development * and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at * src/com/vodafone360/people/VODAFONE.LICENSE.txt or * http://github.com/360/360-Engine-for-Android * See the License for the specific language governing permissions and * limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each file and * include the License file at src/com/vodafone360/people/VODAFONE.LICENSE.txt. * If applicable, add the following below this CDDL HEADER, with the fields * enclosed by brackets "[]" replaced with your own identifying information: * Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END * * Copyright 2010 Vodafone Sales & Services Ltd. All rights reserved. * Use is subject to license terms. */ package com.vodafone360.people.tests.engine.contactsync; import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.Suppress; import com.vodafone360.people.engine.contactsync.BaseSyncProcessor; import com.vodafone360.people.engine.contactsync.DefaultProcessorFactory; import com.vodafone360.people.engine.contactsync.DownloadServerContacts; import com.vodafone360.people.engine.contactsync.FetchNativeContacts; import com.vodafone360.people.engine.contactsync.ProcessorFactory; import com.vodafone360.people.engine.contactsync.UpdateNativeContacts; import com.vodafone360.people.engine.contactsync.UploadServerContacts; /** * The DefaultProcessorFactoryTest handles unit testing of * DefaultProcessorFactory class. */ public class DefaultProcessorFactoryTest extends AndroidTestCase { /** * Tests the type of the created processor depending on the requested type. */ @Suppress public void testProcessorTypeCreation() { DefaultProcessorFactory factory = new DefaultProcessorFactory(); BaseSyncProcessor processor; processor = factory.create(ProcessorFactory.DOWNLOAD_SERVER_CONTACTS, null, null); assertTrue(processor instanceof DownloadServerContacts); processor = factory.create(ProcessorFactory.FETCH_NATIVE_CONTACTS, null, null); assertTrue(processor instanceof FetchNativeContacts); processor = factory.create(ProcessorFactory.UPDATE_NATIVE_CONTACTS, null, null); assertTrue(processor instanceof UpdateNativeContacts); processor = factory.create(ProcessorFactory.UPLOAD_SERVER_CONTACTS, null, null); assertTrue(processor instanceof UploadServerContacts); } /** * Checks that the unexpected type of processor creation is handled. */ public void testUnexpectedProcessorType() { DefaultProcessorFactory factory = new DefaultProcessorFactory(); Exception exception = null; try { // with type=-12, an IllegalArgumentException shall be thrown factory.create(-12, null, null); } catch (IllegalArgumentException e) { exception = e; } // check the exception type assertTrue(exception instanceof IllegalArgumentException); } }