summaryrefslogtreecommitdiffstats
path: root/sangria-lazy/src/test/java/com/tavianator/sangria/lazy/LazySingletonTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'sangria-lazy/src/test/java/com/tavianator/sangria/lazy/LazySingletonTest.java')
-rw-r--r--sangria-lazy/src/test/java/com/tavianator/sangria/lazy/LazySingletonTest.java21
1 files changed, 16 insertions, 5 deletions
diff --git a/sangria-lazy/src/test/java/com/tavianator/sangria/lazy/LazySingletonTest.java b/sangria-lazy/src/test/java/com/tavianator/sangria/lazy/LazySingletonTest.java
index 69fabce..2895c7d 100644
--- a/sangria-lazy/src/test/java/com/tavianator/sangria/lazy/LazySingletonTest.java
+++ b/sangria-lazy/src/test/java/com/tavianator/sangria/lazy/LazySingletonTest.java
@@ -20,12 +20,14 @@ package com.tavianator.sangria.lazy;
import javax.inject.Inject;
import javax.inject.Provider;
+import com.google.inject.AbstractModule;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Module;
import com.google.inject.Stage;
import org.junit.Test;
+import static com.tavianator.sangria.test.SangriaMatchers.*;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;
@@ -62,11 +64,6 @@ public class LazySingletonTest {
test(Stage.PRODUCTION, new SangriaLazyModule());
}
- @Test
- public void testDuplicateModule() {
- test(Stage.PRODUCTION, new SangriaLazyModule(), new SangriaLazyModule());
- }
-
private void test(Stage stage, Module... modules) {
int before = Scoped.INSTANCES.get();
@@ -80,4 +77,18 @@ public class LazySingletonTest {
assertThat(provider.get(), sameInstance(instance));
assertThat(Scoped.INSTANCES.get(), equalTo(before + 1));
}
+
+ @Test
+ public void testBestPractices() {
+ Module module = new AbstractModule() {
+ @Override
+ protected void configure() {
+ install(new SangriaLazyModule());
+ bind(Scoped.class);
+ }
+ };
+
+ assertThat(module, is(atomic()));
+ assertThat(module, followsBestPractices());
+ }
}