From f6c9d63c464ddf0f70c47009a47659449c1fc9f4 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Wed, 2 Sep 2015 20:17:20 +0300 Subject: [PATCH] Simplify asserter implementations. Do not use inline functions in unit tests API. --- libraries/stdlib/src/kotlin/test/Test.kt | 28 +++++++++++++++------ libraries/stdlib/src/kotlin/test/TestJVM.kt | 16 ------------ 2 files changed, 20 insertions(+), 24 deletions(-) diff --git a/libraries/stdlib/src/kotlin/test/Test.kt b/libraries/stdlib/src/kotlin/test/Test.kt index b1357c618c1..d0495780e13 100644 --- a/libraries/stdlib/src/kotlin/test/Test.kt +++ b/libraries/stdlib/src/kotlin/test/Test.kt @@ -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 expect(expected: T, block: () -> T) { +public fun 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 expect(expected: T, message: String, block: () -> T) { +public fun 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. diff --git a/libraries/stdlib/src/kotlin/test/TestJVM.kt b/libraries/stdlib/src/kotlin/test/TestJVM.kt index 7608d63c707..4f88e96c70d 100644 --- a/libraries/stdlib/src/kotlin/test/TestJVM.kt +++ b/libraries/stdlib/src/kotlin/test/TestJVM.kt @@ -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) }