From: David ‘Bombe’ Roden Date: Sun, 17 Nov 2019 20:19:59 +0000 (+0100) Subject: 🐛 Deduplicate items added to list notification X-Git-Tag: v81^2~48 X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=commitdiff_plain;h=15975fffc055e2acfa129ce5821d2aa0cc045717 🐛 Deduplicate items added to list notification --- diff --git a/src/main/java/net/pterodactylus/sone/notify/ListNotification.java b/src/main/java/net/pterodactylus/sone/notify/ListNotification.java index 6a7b086..0c9e504 100644 --- a/src/main/java/net/pterodactylus/sone/notify/ListNotification.java +++ b/src/main/java/net/pterodactylus/sone/notify/ListNotification.java @@ -129,8 +129,10 @@ public class ListNotification extends TemplateNotification { * The new element */ public void add(T element) { - elements.add(element); - touch(); + if (!elements.contains(element)) { + elements.add(element); + touch(); + } } /** diff --git a/src/test/kotlin/net/pterodactylus/sone/notify/ListNotificationTest.kt b/src/test/kotlin/net/pterodactylus/sone/notify/ListNotificationTest.kt index 08d4829..1aa554c 100644 --- a/src/test/kotlin/net/pterodactylus/sone/notify/ListNotificationTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/notify/ListNotificationTest.kt @@ -45,6 +45,14 @@ class ListNotificationTest { } @Test + fun `list notification deduplicates elements`() { + listNotification.add("a") + listNotification.add("b") + listNotification.add("a") + assertThat(listNotification.elements, contains("a", "b")) + } + + @Test fun `list notification removes correct element`() { listNotification.setElements(listOf("a", "b", "c")) listNotification.remove("b")