deprecate resultAssertions, use new ...Expectations in api-fluent

This commit is contained in:
Robert Stoll
2021-05-26 22:24:55 +02:00
parent ee9f26a5c6
commit 37ab84e394
2 changed files with 24 additions and 14 deletions

View File

@@ -13,6 +13,7 @@ import ch.tutteli.atrium.logic.kotlin_1_3.isSuccess
*
* @since 0.9.0
*/
@Deprecated("Use toBeASuccess; will be removed with 1.0.0 at the latest", ReplaceWith("this.toBeASuccess<E, T>()"))
fun <E, T : Result<E>> Expect<T>.isSuccess(): Expect<E> =
_logic.isSuccess().transform()
@@ -24,6 +25,10 @@ fun <E, T : Result<E>> Expect<T>.isSuccess(): Expect<E> =
*
* @since 0.9.0
*/
@Deprecated(
"Use toBeASuccess; will be removed with 1.0.0 at the latest",
ReplaceWith("this.toBeASuccess<E, T>(assertionCreator)")
)
fun <E, T : Result<E>> Expect<T>.isSuccess(assertionCreator: Expect<E>.() -> Unit): Expect<T> =
_logic.isSuccess().collectAndAppend(assertionCreator)
@@ -35,6 +40,7 @@ fun <E, T : Result<E>> Expect<T>.isSuccess(assertionCreator: Expect<E>.() -> Uni
*
* @since 0.9.0
*/
@Deprecated("Use toBeAFailure; will be removed with 1.0.0 at the latest", ReplaceWith("this.toBeAFailure<TExpected>()"))
inline fun <reified TExpected : Throwable> Expect<out Result<*>>.isFailure(): Expect<TExpected> =
_logic.isFailureOfType(TExpected::class).transform()
@@ -47,6 +53,10 @@ inline fun <reified TExpected : Throwable> Expect<out Result<*>>.isFailure(): Ex
*
* @since 0.9.0
*/
@Deprecated(
"Use toBeAFailure; will be removed with 1.0.0 at the latest",
ReplaceWith("this.toBeAFailure<TExpected>(assertionCreator)")
)
inline fun <reified TExpected : Throwable> Expect<out Result<*>>.isFailure(
noinline assertionCreator: Expect<TExpected>.() -> Unit
): Expect<TExpected> = _logic.isFailureOfType(TExpected::class).transformAndAppend(assertionCreator)

View File

@@ -12,12 +12,12 @@ class ResultExpectationsSpec : ch.tutteli.atrium.specs.integration.ResultExpecta
"isFailure" to Companion::toBeAFailure
) {
companion object {
private fun toBeAFailureFeature(expect: Expect<Result<Int>>) = expect.isFailure<IllegalArgumentException>()
private fun toBeAFailureFeature(expect: Expect<Result<Int>>) = expect.toBeAFailure<IllegalArgumentException>()
private fun toBeAFailure(
expect: Expect<out Result<*>>,
assertionCreator: Expect<IllegalArgumentException>.() -> Unit
) = expect.isFailure<IllegalArgumentException> { assertionCreator() }
) = expect.toBeAFailure<IllegalArgumentException> { assertionCreator() }
@Suppress("unused", "UNUSED_VALUE", "UNUSED_VARIABLE")
private fun ambiguityTest() {
@@ -26,23 +26,23 @@ class ResultExpectationsSpec : ch.tutteli.atrium.specs.integration.ResultExpecta
var star: Expect<Result<*>> = notImplemented()
a1.isSuccess()
a1 = a1.isSuccess { }
a1.toBeASuccess()
a1 = a1.toBeASuccess { }
a1.isFailure<IllegalArgumentException>()
val r1: Expect<IllegalArgumentException> = a1.isFailure<IllegalArgumentException> { }
a1.toBeAFailure<IllegalArgumentException>()
val r1: Expect<IllegalArgumentException> = a1.toBeAFailure<IllegalArgumentException> { }
a1b.isSuccess()
a1b = a1b.isSuccess { }
a1b.toBeASuccess()
a1b = a1b.toBeASuccess { }
a1b.isFailure<IllegalArgumentException>()
val r1b: Expect<IllegalArgumentException> = a1b.isFailure<IllegalArgumentException> { }
a1b.toBeAFailure<IllegalArgumentException>()
val r1b: Expect<IllegalArgumentException> = a1b.toBeAFailure<IllegalArgumentException> { }
star.isSuccess()
star = star.isSuccess { }
star.toBeASuccess()
star = star.toBeASuccess { }
star.isFailure<IllegalArgumentException>()
val r3: Expect<IllegalArgumentException> = star.isFailure<IllegalArgumentException> { }
star.toBeAFailure<IllegalArgumentException>()
val r3: Expect<IllegalArgumentException> = star.toBeAFailure<IllegalArgumentException> { }
}
}
}