feat(core-reminders): ReminderOverride.minutesOrEmpty
This commit is contained in:
1 parent
d4970ba2bc
commit
1cc7f8f71d
3 files changed
+12
No files matched your search
@@ -19,6 +19,9 @@ sealed interface ReminderOverride {
|
||||
data class Minutes(val minutes: List<Int>) : ReminderOverride
|
||||
}
|
||||
|
||||
/** The lead times of a [ReminderOverride.Minutes]; empty for [ReminderOverride.Inherit] and [ReminderOverride.None]. */
|
||||
fun ReminderOverride.minutesOrEmpty(): List<Int> = (this as? ReminderOverride.Minutes)?.minutes.orEmpty()
|
||||
|
||||
/** Distinct, ascending lead times — the canonical form stored and resolved. */
|
||||
fun List<Int>.normalizeReminders(): List<Int> = distinct().sorted()
|
||||
|
||||
|
||||
@@ -64,4 +64,11 @@ class ReminderModelTest {
|
||||
assertThat(reminderOverrideForMinutes(emptyList(), allowInherit = false))
|
||||
.isEqualTo(ReminderOverride.None)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `minutesOrEmpty reads the lead times and is empty otherwise`() {
|
||||
assertThat(ReminderOverride.Minutes(listOf(10, 60)).minutesOrEmpty()).containsExactly(10, 60).inOrder()
|
||||
assertThat(ReminderOverride.Inherit.minutesOrEmpty()).isEmpty()
|
||||
assertThat(ReminderOverride.None.minutesOrEmpty()).isEmpty()
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user