From: David ‘Bombe’ Roden Date: Fri, 1 Nov 2019 17:35:45 +0000 (+0100) Subject: 🚧 Add matcher for empty maps X-Git-Tag: v81^2~97 X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=commitdiff_plain;h=2786e8969153981d679f0d603d8fb2d1e3b626a3 🚧 Add matcher for empty maps --- diff --git a/src/test/kotlin/net/pterodactylus/sone/test/Matchers.kt b/src/test/kotlin/net/pterodactylus/sone/test/Matchers.kt index c084d35..83da2ae 100644 --- a/src/test/kotlin/net/pterodactylus/sone/test/Matchers.kt +++ b/src/test/kotlin/net/pterodactylus/sone/test/Matchers.kt @@ -1,7 +1,9 @@ package net.pterodactylus.sone.test +import net.pterodactylus.sone.utils.* import net.pterodactylus.util.web.* import org.hamcrest.* +import org.hamcrest.Matchers.* fun hasHeader(name: String, value: String) = object : TypeSafeDiagnosingMatcher
() { override fun matchesSafely(item: Header, mismatchDescription: Description) = @@ -19,3 +21,14 @@ fun compare(value: T, comparison: (T) -> Boolean, onError: (T) -> Unit false.takeUnless { comparison(value) } ?.also { onError(value) } +fun isEmptyMap() = object : TypeSafeDiagnosingMatcher>() { + override fun describeTo(description: Description) { + description.appendText("empty map") + } + + override fun matchesSafely(item: Map, mismatchDescription: Description) = + item.isEmpty().onFalse { + mismatchDescription.appendText("was ").appendValue(item) + } +} +