X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FPreferencesTest.java;h=fdae222e90eb296a84db1dc116c3b52d9cda23fc;hp=ec2930fb7951a01ee0ff8f1e119e66d4aef9a6b0;hb=be9b08105333cb78ecef49ffbc4841dd62781bce;hpb=a97bd2a5a5d804d53f9fdf4ff3afa985b6eae2fb diff --git a/src/test/java/net/pterodactylus/sone/core/PreferencesTest.java b/src/test/java/net/pterodactylus/sone/core/PreferencesTest.java index ec2930f..fdae222 100644 --- a/src/test/java/net/pterodactylus/sone/core/PreferencesTest.java +++ b/src/test/java/net/pterodactylus/sone/core/PreferencesTest.java @@ -4,11 +4,13 @@ import static net.pterodactylus.sone.fcp.FcpInterface.FullAccessRequired.ALWAYS; import static net.pterodactylus.sone.fcp.FcpInterface.FullAccessRequired.NO; import static net.pterodactylus.sone.fcp.FcpInterface.FullAccessRequired.WRITING; import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.hasItem; import static org.hamcrest.Matchers.is; +import static org.mockito.ArgumentCaptor.forClass; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyNoMoreInteractions; import net.pterodactylus.sone.core.event.InsertionDelayChangedEvent; import net.pterodactylus.sone.fcp.FcpInterface.FullAccessRequired; @@ -17,7 +19,6 @@ import net.pterodactylus.sone.fcp.event.FcpInterfaceDeactivatedEvent; import net.pterodactylus.sone.fcp.event.FullAccessRequiredChanged; import com.google.common.eventbus.EventBus; -import org.junit.After; import org.junit.Test; import org.mockito.ArgumentCaptor; @@ -29,16 +30,18 @@ public class PreferencesTest { private final EventBus eventBus = mock(EventBus.class); private final Preferences preferences = new Preferences(eventBus); - @After - public void tearDown() { - verifyNoMoreInteractions(eventBus); - } - @Test public void preferencesRetainInsertionDelay() { preferences.setInsertionDelay(15); assertThat(preferences.getInsertionDelay(), is(15)); - verify(eventBus).post(any(InsertionDelayChangedEvent.class)); + } + + @Test + public void preferencesSendsEventOnSettingInsertionDelay() { + preferences.setInsertionDelay(15); + ArgumentCaptor eventsCaptor = forClass(Object.class); + verify(eventBus, atLeastOnce()).post(eventsCaptor.capture()); + assertThat(eventsCaptor.getAllValues(), hasItem(new InsertionDelayChangedEvent(15))); } @Test(expected = IllegalArgumentException.class) @@ -50,7 +53,6 @@ public class PreferencesTest { public void preferencesReturnDefaultValueWhenInsertionDelayIsSetToNull() { preferences.setInsertionDelay(null); assertThat(preferences.getInsertionDelay(), is(60)); - verify(eventBus).post(any(InsertionDelayChangedEvent.class)); } @Test @@ -273,7 +275,7 @@ public class PreferencesTest { private void verifyFullAccessRequiredChangedEvent( FullAccessRequired fullAccessRequired) { ArgumentCaptor fullAccessRequiredCaptor = - ArgumentCaptor.forClass(FullAccessRequiredChanged.class); + forClass(FullAccessRequiredChanged.class); verify(eventBus).post(fullAccessRequiredCaptor.capture()); assertThat( fullAccessRequiredCaptor.getValue().getFullAccessRequired(), @@ -306,4 +308,12 @@ public class PreferencesTest { assertThat(preferences.getFcpFullAccessRequired(), is(ALWAYS)); } + @Test + public void settingInsertionDelayToValidValueSendsChangeEvent() { + preferences.setInsertionDelay(30); + ArgumentCaptor eventsCaptor = forClass(Object.class); + verify(eventBus, atLeastOnce()).post(eventsCaptor.capture()); + assertThat(eventsCaptor.getAllValues(), hasItem(new PreferenceChangedEvent("InsertionDelay", 30))); + } + }