Merge branch 'release-0.9.7'
[Sone.git] / src / test / java / net / pterodactylus / sone / template / IdentityAccessorTest.java
index 33149e0..6744bd8 100644 (file)
@@ -2,6 +2,8 @@ package net.pterodactylus.sone.template;
 
 import static java.util.Arrays.asList;
 import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.notNullValue;
+import static org.hamcrest.Matchers.sameInstance;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
@@ -12,7 +14,10 @@ import net.pterodactylus.sone.core.Core;
 import net.pterodactylus.sone.freenet.wot.Identity;
 import net.pterodactylus.sone.freenet.wot.IdentityManager;
 import net.pterodactylus.sone.freenet.wot.OwnIdentity;
+import net.pterodactylus.sone.test.GuiceKt;
 
+import com.google.inject.Guice;
+import com.google.inject.Injector;
 import org.hamcrest.Matchers;
 import org.junit.Before;
 import org.junit.Test;
@@ -78,4 +83,22 @@ public class IdentityAccessorTest {
                                Matchers.<Object>is(identity.hashCode()));
        }
 
+       @Test
+       public void accessorCanBeCreatedByGuice() {
+               Injector injector = Guice.createInjector(
+                               GuiceKt.supply(Core.class).byInstance(mock(Core.class))
+               );
+               assertThat(injector.getInstance(IdentityAccessor.class), notNullValue());
+       }
+
+       @Test
+       public void accessorIsCreatedAsSingleton() {
+               Injector injector = Guice.createInjector(
+                               GuiceKt.supply(Core.class).byInstance(mock(Core.class))
+               );
+               IdentityAccessor firstAccessor = injector.getInstance(IdentityAccessor.class);
+               IdentityAccessor secondAccessor = injector.getInstance(IdentityAccessor.class);
+               assertThat(firstAccessor, sameInstance(secondAccessor));
+       }
+
 }