package com.after_sunrise.oss.otdb.je; import static org.junit.Assert.assertNotNull; import java.io.IOException; import java.util.Iterator; import java.util.ServiceLoader; import org.junit.Test; import com.after_sunrise.oss.otdb.api.loader.LoadableTickLoader; import com.after_sunrise.oss.otdb.api.service.TickService; import com.after_sunrise.oss.otdb.je.loader.JeTickLoader; import com.after_sunrise.oss.otdb.je.service.JeTickService; /** * @author takanori.takase */ public class SpiTest { @Test public void testTickService() throws IOException { JeTickService tickService = null; // Load services defined in `/META-INF/services/*` ServiceLoader<TickService> l = ServiceLoader.load(TickService.class); Iterator<TickService> itr = l.iterator(); while (itr.hasNext()) { TickService service = itr.next(); if (service instanceof JeTickService) { tickService = (JeTickService) service; break; } } assertNotNull(tickService); } @Test public void testTickLoader() throws IOException { JeTickLoader tickLoader = null; // Load services defined in `/META-INF/services/*` ServiceLoader<LoadableTickLoader> l = ServiceLoader .load(LoadableTickLoader.class); Iterator<LoadableTickLoader> itr = l.iterator(); while (itr.hasNext()) { LoadableTickLoader loader = itr.next(); if (loader instanceof JeTickLoader) { tickLoader = (JeTickLoader) loader; break; } } assertNotNull(tickLoader); } }