diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2014-10-04 12:52:32 -0400 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2014-10-04 12:52:32 -0400 |
commit | 3fd5777a58f59218e3229c9ea11d816ecc6ae367 (patch) | |
tree | 53f937505806e010d2bc3134fa5507d0ff78d32c /sangria-contextual/src/test/java/com/tavianator/sangria | |
parent | b0bb30831a334ff30e3e6a13790bbc324db89de5 (diff) | |
parent | 8e24a47b69f940c31ac95451b4584b95de7c8670 (diff) | |
download | sangria-3fd5777a58f59218e3229c9ea11d816ecc6ae367.tar.xz |
Merge branch 'test'
Diffstat (limited to 'sangria-contextual/src/test/java/com/tavianator/sangria')
-rw-r--r-- | sangria-contextual/src/test/java/com/tavianator/sangria/contextual/ContextSensitiveBinderTest.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/sangria-contextual/src/test/java/com/tavianator/sangria/contextual/ContextSensitiveBinderTest.java b/sangria-contextual/src/test/java/com/tavianator/sangria/contextual/ContextSensitiveBinderTest.java index 1e2ab49..68250cb 100644 --- a/sangria-contextual/src/test/java/com/tavianator/sangria/contextual/ContextSensitiveBinderTest.java +++ b/sangria-contextual/src/test/java/com/tavianator/sangria/contextual/ContextSensitiveBinderTest.java @@ -28,6 +28,7 @@ import com.google.inject.Guice; import com.google.inject.Injector; import com.google.inject.Key; import com.google.inject.MembersInjector; +import com.google.inject.Module; import com.google.inject.Provider; import com.google.inject.ProvisionException; import com.google.inject.TypeLiteral; @@ -40,6 +41,7 @@ import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; +import static com.tavianator.sangria.test.SangriaMatchers.*; import static org.hamcrest.Matchers.*; import static org.junit.Assert.*; @@ -54,6 +56,10 @@ public class ContextSensitiveBinderTest { public @Rule ExpectedException thrown = ExpectedException.none(); private static class SelfProvider implements ContextSensitiveProvider<String> { + @Inject + SelfProvider() { + } + // For testing getInjectionPoints() in the SPI below @SuppressWarnings("unused") @Inject Injector injector; @@ -191,6 +197,21 @@ public class ContextSensitiveBinderTest { assertThat(hasSelf.selfProvider.get(), equalTo("<unknown>")); } + @Test + public void testBestPractices() { + Module module = new AbstractModule() { + @Override + protected void configure() { + ContextSensitiveBinder.create(binder()) + .bind(String.class) + .annotatedWith(Names.named("self")) + .toContextSensitiveProvider(SelfProvider.class); + } + }; + assertThat(module, is(atomic())); + assertThat(module, followsBestPractices()); + } + private static class RequiredContextProvider implements ContextSensitiveProvider<String> { @Override public String getInContext(InjectionPoint injectionPoint) { |