package xapi.test.inject; import org.junit.Test; import xapi.test.AbstractInjectionTest; import xapi.annotation.inject.InstanceDefault; import xapi.annotation.inject.SingletonDefault; import xapi.inject.X_Inject; import static org.junit.Assert.assertNotNull; @SingletonDefault(implFor=JreInjectionTest.class) public class JreInjectionTest extends AbstractInjectionTest{ private interface ImportTestSingleton { void test(); } private interface ImportTestInstance { void test(); } @SingletonDefault(implFor=ImportSingleton.class) public static class ImportSingleton implements ImportTestSingleton { @Override public void test() { } } @InstanceDefault(implFor=ImportTestInstance.class) public static class ImportInstance implements ImportTestInstance { @Override public void test() { } } // @Test // public void arg() throws Throwable { // String jar = "/home/james/.m2/repository/net/wetheinter/xapi-core-api/0.5-SNAPSHOT/xapi-core-api-0.5-SNAPSHOT.jar"; // JarFile J = new JarFile(jar); // Enumeration<JarEntry> entries = J.entries(); // MultithreadedStringTrie<JarEntry> trie = new MultithreadedStringTrie<>(); // HashSet<JarEntry> jars = new LinkedHashSet<>(); // int cnt=0; // while (entries.hasMoreElements()) { // JarEntry next = entries.nextElement(); // if (next.isDirectory()){ // System.out.println(next); //// continue; // } // trie.put(next.getName(), next); // jars.add(next); // cnt++; // } // for (JarEntry e : trie.findPrefixed("")) { // jars.remove(e); // cnt--; // } // System.err.println(cnt); // for (JarEntry left : jars) { // System.err.println(left); // } // System.err.flush(); // J.close(); // } @Test public void testSingletonInjection(){ ImportSingleton service = X_Inject.singleton(ImportSingleton.class); assertNotNull("Injector did not provide a singleton service", service); service.test(); } @Test public void testInstanceInjection(){ ImportInstance instance = X_Inject.instance(ImportInstance.class); assertNotNull("Injector did not provide an instance object", instance); instance.test(); } }