import org.junit.Test;
public class InjectorCacheTest {
-
- private static class MyInjector implements Injector {
- private String classname;
-
- public MyInjector(String aClassname) {
- classname = aClassname;
+
+ private static class MyInjector implements Injector {
+ private String classname;
+
+ public MyInjector(String aClassname) {
+ classname = aClassname;
}
+
@Override
public void inject(Object aComponent) {
throw new RuntimeException("not implemented");
}
+
public String getClassname() {
return classname;
}
}
@Test
- public void testCache() {
+ public void testCache() {
InjectorFactory factory = new InjectorFactory() {
-
+
@Override
public Injector create(Class aClass) {
return new MyInjector(aClass.getName());
}
};
- InjectorCache cache = new InjectorCache(factory);
+ InjectorCache cache = new InjectorCache(factory);
// Unrealistic exmaple, but sufficient for test.
-
+
Injector injector = cache.getInjector(String.class);
- assertEquals(String.class.getName(), ((MyInjector)injector).getClassname());
-
- Injector injector2 = cache.getInjector(String.class);
+ assertEquals(String.class.getName(), ((MyInjector) injector)
+ .getClassname());
+
+ Injector injector2 = cache.getInjector(String.class);
assertSame(injector, injector2);
-
- // verify we get another one for another class.
+
+ // verify we get another one for another class.
Injector injector3 = cache.getInjector(Long.class);
- assertEquals(Long.class.getName(), ((MyInjector)injector3).getClassname());
-
+ assertEquals(Long.class.getName(), ((MyInjector) injector3)
+ .getClassname());
+
}
}