Ensure singleton with no interface works

This commit is contained in:
Dave Syer
2014-04-16 16:45:30 -07:00
parent 18ebadde04
commit 8ceebb9426
4 changed files with 30 additions and 2 deletions

View File

@@ -1,5 +1,6 @@
package org.springframework.guice;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import javax.inject.Inject;
@@ -44,6 +45,13 @@ public abstract class AbstractCompleteWiringTests {
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());
@@ -79,4 +87,12 @@ public abstract class AbstractCompleteWiringTests {
}
public static class Baz {
@Inject
public Baz(Service service) {
}
}
}

View File

@@ -13,6 +13,8 @@
package org.springframework.guice;
import javax.inject.Singleton;
import com.google.inject.AbstractModule;
import com.google.inject.Guice;
import com.google.inject.Injector;
@@ -33,6 +35,7 @@ public class GuiceWiringTests extends AbstractCompleteWiringTests {
@Override
protected void configure() {
bind(Service.class).to(MyService.class);
bind(Baz.class).in(Singleton.class);
}
}

View File

@@ -40,6 +40,10 @@ public class SpringModuleWiringTests extends AbstractCompleteWiringTests {
public Service service() {
return new MyService();
}
@Bean
public Baz baz() {
return new Baz(service());
}
}
}