assertContains for OpenEndRange argument

#KT-52932
This commit is contained in:
Ilya Gorbunov
2022-06-26 03:32:19 +03:00
committed by Space
parent 5e32f04249
commit fcfc79aa35
2 changed files with 18 additions and 1 deletions
@@ -279,7 +279,12 @@ fun <T : Comparable<T>> assertContains(range: ClosedRange<T>, value: T, message:
assertRangeContains(range, value, message, ClosedRange<T>::contains)
}
// TODO: assertContains for OpenEndRange
/** Asserts that the [range] contains the specified [value], with an optional [message]. */
@SinceKotlin("1.7")
@ExperimentalStdlibApi
fun <T : Comparable<T>> assertContains(range: OpenEndRange<T>, value: T, message: String? = null) {
assertRangeContains(range, value, message, OpenEndRange<T>::contains)
}
/** Asserts that the [range] contains the specified [value], with an optional [message]. */
@SinceKotlin("1.5")
@@ -109,6 +109,18 @@ class AssertContainsTest {
}
}
@Test
@OptIn(ExperimentalStdlibApi::class)
fun assertContainsOpenRange() {
val range = 0.0.rangeUntil(1.0) // TODO: replace with ..< by 1.8
assertContains(range, 0.99)
val one = 1.0
testFailureMessage("Expected the range <$range> to contain the value <$one>.") {
assertContains(range, one)
}
}
@Test
fun testAssertContainsMap() {
val map = mapOf(