Improve notification capture fidelity and documentation
This commit is contained in:
+25
@@ -0,0 +1,25 @@
|
||||
package se.ajpanton.notificationlog.capture
|
||||
|
||||
import org.junit.Assert.assertFalse
|
||||
import org.junit.Assert.assertTrue
|
||||
import org.junit.Test
|
||||
|
||||
class NotificationChangeClassifierTest {
|
||||
private fun snapshot(text: String, routine: Boolean = false) = NotificationSnapshot(
|
||||
key = "key", packageName = "example.app", textContents = text, hasImage = false,
|
||||
isRoutine = routine, imageBytes = null,
|
||||
)
|
||||
|
||||
@Test fun `text change is an edit`() {
|
||||
assertTrue(NotificationChangeClassifier.isMeaningfulEdit(snapshot("old"), snapshot("new")))
|
||||
}
|
||||
|
||||
@Test fun `identical repost is not an edit`() {
|
||||
assertFalse(NotificationChangeClassifier.isMeaningfulEdit(snapshot("same"), snapshot("same")))
|
||||
}
|
||||
|
||||
@Test fun `routine edit respects ignore setting`() {
|
||||
assertTrue(NotificationChangeClassifier.shouldIgnoreEdit(snapshot("old"), snapshot("new", routine = true), true))
|
||||
assertFalse(NotificationChangeClassifier.shouldIgnoreEdit(snapshot("old"), snapshot("new", routine = true), false))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package se.ajpanton.notificationlog.settings
|
||||
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Test
|
||||
|
||||
class AppListOrderingTest {
|
||||
private fun app(label: String, seen: Boolean = false, selected: Boolean = false) = ListedApp(label, "pkg.$label", seen, selected)
|
||||
|
||||
@Test fun `seen apps are first with a separator when requested`() {
|
||||
val items = AppListOrdering.items(listOf(app("Zulu"), app("Beta", seen = true), app("Alpha", seen = true)), false, true)
|
||||
assertEquals(listOf("Alpha", "Beta", "|", "Zulu"), items.map { if (it is AppListItem.App) it.value.label else "|" })
|
||||
}
|
||||
|
||||
@Test fun `selected unseen app remains after seen apps in only-seen mode`() {
|
||||
val items = AppListOrdering.items(listOf(app("Seen", seen = true), app("Chosen", selected = true), app("Hidden")), true, true)
|
||||
assertEquals(listOf("Seen", "|", "Chosen"), items.map { if (it is AppListItem.App) it.value.label else "|" })
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user