X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FPreferencesTest.kt;h=245ff03619cbee78d82a1abaa012bbf21ee375fa;hp=ca58c40b0c7f238c3bddd215b14932ed53a97d46;hb=faf66247a34f64946990a985d2ea3003465969cb;hpb=fc8e9ea5c978d2f5a00894e093364ae62f18934b diff --git a/src/test/kotlin/net/pterodactylus/sone/core/PreferencesTest.kt b/src/test/kotlin/net/pterodactylus/sone/core/PreferencesTest.kt index ca58c40..245ff03 100644 --- a/src/test/kotlin/net/pterodactylus/sone/core/PreferencesTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/core/PreferencesTest.kt @@ -6,6 +6,7 @@ import net.pterodactylus.sone.fcp.FcpInterface.* import net.pterodactylus.sone.fcp.FcpInterface.FullAccessRequired.* import net.pterodactylus.sone.fcp.event.* import net.pterodactylus.sone.test.* +import net.pterodactylus.util.config.* import org.hamcrest.MatcherAssert.* import org.hamcrest.Matchers.* import org.junit.* @@ -64,6 +65,13 @@ class PreferencesTest { } @Test + fun `preferences saves null for default insertion delay setting`() { + val configuration = Configuration(MapConfigurationBackend()) + preferences.saveTo(configuration) + assertThat(configuration.getIntValue("Option/InsertionDelay").getValue(null), nullValue()) + } + + @Test fun `preferences retain posts per page`() { preferences.newPostsPerPage = 15 assertThat(preferences.postsPerPage, equalTo(15)) @@ -180,69 +188,6 @@ class PreferencesTest { } @Test - fun `preferences retain positive trust`() { - preferences.newPositiveTrust = 15 - assertThat(preferences.positiveTrust, equalTo(15)) - } - - @Test(expected = IllegalArgumentException::class) - fun `invalid positive trust is rejected`() { - preferences.newPositiveTrust = -15 - } - - @Test - fun `preferences return default value when positive trust is set to null`() { - preferences.newPositiveTrust = null - assertThat(preferences.positiveTrust, equalTo(75)) - } - - @Test - fun `preferences start with positive trust default value`() { - assertThat(preferences.positiveTrust, equalTo(75)) - } - - @Test - fun `preferences retain negative trust`() { - preferences.newNegativeTrust = -15 - assertThat(preferences.negativeTrust, equalTo(-15)) - } - - @Test(expected = IllegalArgumentException::class) - fun `invalid negative trust is rejected`() { - preferences.newNegativeTrust = 150 - } - - @Test - fun `preferences return default value when negative trust is set to null`() { - preferences.newNegativeTrust = null - assertThat(preferences.negativeTrust, equalTo(-25)) - } - - @Test - fun `preferences start with negative trust default value`() { - assertThat(preferences.negativeTrust, equalTo(-25)) - } - - @Test - fun `preferences retain trust comment`() { - preferences.newTrustComment = "Trust" - assertThat(preferences.trustComment, equalTo("Trust")) - } - - @Test - fun `preferences return default value when trust comment is set to null`() { - preferences.newTrustComment = null - assertThat(preferences.trustComment, - equalTo("Set from Sone Web Interface")) - } - - @Test - fun `preferences start with trust comment default value`() { - assertThat(preferences.trustComment, - equalTo("Set from Sone Web Interface")) - } - - @Test fun `preferences retain fcp interface active of true`() { preferences.newFcpInterfaceActive = true assertThat(preferences.fcpInterfaceActive, equalTo(true)) @@ -311,16 +256,18 @@ class PreferencesTest { @Test fun `setting insertion delay to valid value sends change event`() { - preferences.newInsertionDelay = 30 - verify(eventBus, atLeastOnce()).post(eventsCaptor.capture()) - assertThat(eventsCaptor.allValues, hasItem(PreferenceChangedEvent("InsertionDelay", 30))) + testPreferencesChangedEvent("InsertionDelay", { preferences.newInsertionDelay = it }, 30) } @Test fun `setting posts per page to valid value sends change event`() { - preferences.newPostsPerPage = 30 + testPreferencesChangedEvent("PostsPerPage", { preferences.newPostsPerPage = it }, 31) + } + + private fun testPreferencesChangedEvent(name: String, setter: (T) -> Unit, value: T) { + setter(value) verify(eventBus, atLeastOnce()).post(eventsCaptor.capture()) - assertThat(eventsCaptor.allValues, hasItem(PreferenceChangedEvent("PostsPerPage", 30))) + assertThat(eventsCaptor.allValues, hasItem(PreferenceChangedEvent(name, value))) } }