Simplify asserter implementations.

Do not use inline functions in unit tests API.
This commit is contained in:
Ilya Gorbunov
2015-09-02 20:17:20 +03:00
parent 267aad3926
commit f6c9d63c46
2 changed files with 20 additions and 24 deletions
+20 -8
View File
@@ -4,16 +4,16 @@
package kotlin.test
/** Asserts that the given [block] returns `true`. */
public inline fun assertTrue(message: String, block: () -> Boolean) {
public fun assertTrue(message: String, block: () -> Boolean) {
val actual = block()
asserter.assertTrue(message, actual)
}
/** Asserts that the given [block] returns `true`. */
public inline fun assertTrue(block: () -> Boolean): Unit = assertTrue("expected true", block)
public fun assertTrue(block: () -> Boolean): Unit = assertTrue("expected true", block)
/** Asserts that the given [block] returns `false`. */
public inline fun assertNot(message: String, block: () -> Boolean) {
public fun assertNot(message: String, block: () -> Boolean) {
assertTrue(message) { !block() }
}
@@ -65,12 +65,12 @@ public fun fail(message: String = "") {
}
/** Asserts that given function [block] returns the given [expected] value. */
public inline fun <T> expect(expected: T, block: () -> T) {
public fun <T> expect(expected: T, block: () -> T) {
expect(expected, "expected " + expected, block)
}
/** Asserts that given function [block] returns the given [expected] value and use the given [message] if it fails. */
public inline fun <T> expect(expected: T, message: String, block: () -> T) {
public fun <T> expect(expected: T, message: String, block: () -> T) {
val actual = block()
assertEquals(expected, actual, message)
}
@@ -98,7 +98,11 @@ public interface Asserter {
*
* @param message the message to report if the assertion fails.
*/
public fun assertTrue(message: String, actual: Boolean): Unit
public fun assertTrue(message: String, actual: Boolean): Unit {
if (!actual) {
fail(message)
}
}
/**
* Asserts that the specified values are equal.
@@ -119,14 +123,22 @@ public interface Asserter {
*
* @param message the message to report if the assertion fails.
*/
public fun assertNotNull(message: String, actual: Any?): Unit
public fun assertNotNull(message: String, actual: Any?): Unit {
if (actual == null) {
fail(message)
}
}
/**
* Asserts that the specified value is `null`.
*
* @param message the message to report if the assertion fails.
*/
public fun assertNull(message: String, actual: Any?): Unit
public fun assertNull(message: String, actual: Any?): Unit {
if (actual != null) {
fail(message)
}
}
/**
* Fails the current test with the specified message.
@@ -51,12 +51,6 @@ public var asserter: Asserter
*/
private class DefaultAsserter() : Asserter {
public override fun assertTrue(message : String, actual : Boolean) {
if (!actual) {
fail(message)
}
}
public override fun assertEquals(message : String, expected : Any?, actual : Any?) {
if (expected != actual) {
fail("$message. Expected <$expected> actual <$actual>")
@@ -69,17 +63,7 @@ private class DefaultAsserter() : Asserter {
}
}
public override fun assertNotNull(message : String, actual : Any?) {
if (actual == null) {
fail(message)
}
}
public override fun assertNull(message : String, actual : Any?) {
if (actual != null) {
fail(message)
}
}
public override fun fail(message : String) {
throw AssertionError(message)
}