DefaultClassInjector implements ClassInjector { @SuppressWarnings("unchecked") @Override public void injectStaticMembers(Map<String, Class<?>> classes, Map<String, Class<?>[]> inheritanceTree, ClassLoader classLoader) { TypeContainer typeContainer; Map<String, Class<? extends Object>[]> castedInheritanceTree = new HashMap<String, Class<? extends Object>[]>(inheritanceTree); for (Map.Entry<String, Class<?>> type : classes.entrySet()) { typeContainer = generateTypeContainer((Class<Object>) type.getValue(), castedInheritanceTree, null, classLoader); for (InjectionSet set : typeContainer.getInjectionSets()) { injectStaticFields(set, (Object) null, castedInheritanceTree, classLoader); injectStaticMethods(set, (Object) null, castedInheritanceTree, classLoader); } } } DefaultClassInjector();  DefaultClassInjector(TypeConfig config);  DefaultClassInjector(TypeDeterminator typeDeterminator);  DefaultClassInjector(TypeConfig config, TypeDeterminator typeDeterminator); @Override void setTypeConfig(TypeConfig config); @SuppressWarnings("unchecked") @Override void injectStaticMembers(Map<String, Class<?>> classes, Map<String, Class<?>[]> inheritanceTree, ClassLoader classLoader); @Override @SuppressWarnings("unchecked") T instance(Class<T> type, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader, Class<?>[] generics, Annotation qualifier); TypeDeterminator getTypeDeterminator(); void setTypeDeterminator(TypeDeterminator typeDeterminator);  }
@Test public void injectStaticMembers_NoClasses() { defaultClassInjector.injectStaticMembers(classes, inheritanceTree, classLoader); verifyZeroInteractions(typeConfig, typeDeterminator); }