Files
spring-guice/src/test/java/org/springframework/guice/AbstractCompleteWiringTests.java
2014-04-22 11:38:20 +01:00

99 lines
1.7 KiB
Java

package org.springframework.guice;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import javax.inject.Inject;
import org.junit.Before;
import org.junit.Test;
import com.google.inject.Injector;
public abstract class AbstractCompleteWiringTests {
private Injector injector;
@Before
public void init() {
injector = createInjector();
}
protected abstract Injector createInjector();
@Test
public void injectInstance() {
Bar bar = new Bar();
injector.injectMembers(bar);
assertNotNull(bar.service);
}
@Test
public void memberInjector() {
Bar bar = new Bar();
injector.getMembersInjector(Bar.class).injectMembers(bar);
assertNotNull(bar.service);
}
@Test
public void getInstanceUnbound() {
assertNotNull(injector.getInstance(Foo.class));
}
@Test
public void getInstanceBound() {
assertNotNull(injector.getInstance(Service.class));
}
@Test
public void getInstanceBoundWithNoInterface() {
Baz instance = injector.getInstance(Baz.class);
assertNotNull(instance);
assertEquals(instance, injector.getInstance(Baz.class));
}
@Test
public void getProviderUnbound() {
assertNotNull(injector.getProvider(Foo.class).get());
}
@Test
public void getProviderBound() {
assertNotNull(injector.getProvider(Service.class).get());
}
public interface Service {
}
public static class MyService implements Service {
}
public static class Foo {
@Inject
public Foo(Service service) {
}
}
public static class Bar {
private Service service;
@Inject
public void setService(Service service) {
this.service = service;
}
}
public static class Baz {
@Inject
public Baz(Service service) {
}
}
}