X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Ftest%2FMatchers.kt;h=3bbdd23f88f3373bad0b570139e42c5815a0142a;hb=11b68b3a9d2437ee951e06779f337b20084f01f0;hp=c084d35ffdb9489f80aff75e83fb9187a2e41c09;hpb=70ae04e2fd5ffa01c6f000f74ec8ece826ab7b2b;p=Sone.git diff --git a/src/test/kotlin/net/pterodactylus/sone/test/Matchers.kt b/src/test/kotlin/net/pterodactylus/sone/test/Matchers.kt index c084d35..3bbdd23 100644 --- a/src/test/kotlin/net/pterodactylus/sone/test/Matchers.kt +++ b/src/test/kotlin/net/pterodactylus/sone/test/Matchers.kt @@ -1,7 +1,10 @@ package net.pterodactylus.sone.test +import net.pterodactylus.sone.freenet.wot.* +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 +22,20 @@ 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) + } +} + +fun isTrust(trust: Int?, score: Int?, rank: Int?) = + AttributeMatcher("trust") + .addAttribute("trust", trust, Trust::explicit) + .addAttribute("score", score, Trust::implicit) + .addAttribute("rank", rank, Trust::distance) +