    1   /*
    2    * Copyright 2004-2009 the Seasar Foundation and the Others.
    3    *
    4    * Licensed under the Apache License, Version 2.0 (the "License");
    5    * you may not use this file except in compliance with the License.
    6    * You may obtain a copy of the License at
    7    *
    8    *     http://www.apache.org/licenses/LICENSE-2.0
    9    *
    10   * Unless required by applicable law or agreed to in writing, software
    11   * distributed under the License is distributed on an "AS IS" BASIS,
    12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
    13   * either express or implied. See the License for the specific language
    14   * governing permissions and limitations under the License.
    15   */
    16  package org.seasar.cubby.internal.util;
    17
    18  import static org.junit.Assert.assertEquals;
    19  import static org.junit.Assert.assertFalse;
    20  import static org.junit.Assert.assertTrue;
    21
    22  import java.util.Iterator;
    23
    24  import org.junit.Test;
    25
    26  public class ServiceLoaderTest {
    27
    28  	@Test
    29  	public void load() {
    30  		ServiceLoader<FooProvider> serviceLoader = ServiceLoader
    31  				.load(FooProvider.class);
    32  		Iterator<FooProvider> iterator = serviceLoader.iterator();
    33
    34  		assertTrue(iterator.hasNext());
    35  		FooProvider service1 = iterator.next();
    36  		assertEquals(FooProviderImpl1.class, service1.getClass());
    37
    38  		assertTrue(iterator.hasNext());
    39  		FooProvider service2 = iterator.next();
    40  		assertEquals(FooProviderImpl2.class, service2.getClass());
    41
    42  		assertFalse(iterator.hasNext());
    43  	}
    44
    45  }