set(value) {
_insertionDelay.set(value)
eventBus.post(InsertionDelayChangedEvent(insertionDelay))
- eventBus.post(PreferenceChangedEvent("InsertionDelay", insertionDelay))
}
private val _postsPerPage = DefaultOption(10) { it in 1..MAX_VALUE }
get() = unsupported
set(value) {
_postsPerPage.set(value)
- eventBus.post(PreferenceChangedEvent("PostsPerPage", postsPerPage))
}
private val _imagesPerPage = DefaultOption(9) { it in 1..MAX_VALUE }
}
@Test
- fun `setting insertion delay to valid value sends change event`() {
- testPreferencesChangedEvent("InsertionDelay", { preferences.newInsertionDelay = it }, 30)
- }
-
- @Test
- fun `setting posts per page to valid value sends change event`() {
- testPreferencesChangedEvent("PostsPerPage", { preferences.newPostsPerPage = it }, 31)
- }
-
- @Test
fun `default strict filtering is false`() {
assertThat(preferences.strictFiltering, equalTo(false))
}
assertThat(getter(configuration), matcher)
}
- private fun <T : Any> testPreferencesChangedEvent(name: String, setter: (T) -> Unit, value: T) {
- val events = mutableListOf<PreferenceChangedEvent>()
- eventBus.register(object {
- @Subscribe
- fun preferenceChanged(event: PreferenceChangedEvent) =
- events.add(event)
- })
- setter(value)
- assertThat(events, hasItem(PreferenceChangedEvent(name, value)))
- }
-
}