KT-1530 : stdlib should include assert and require functions to simplify precondition checking

This commit is contained in:
Hiram Chirino
2012-03-07 13:16:02 -05:00
parent 87370ba3bd
commit c9d6b8462d
2 changed files with 97 additions and 0 deletions
@@ -0,0 +1,49 @@
package test.collections
import junit.framework.TestCase
import kotlin.test.*
import java.lang.IllegalArgumentException
class PreconditionsTest() : TestCase() {
fun testPassingRequire() {
require(true)
}
fun testFailingRequire() {
val error = fails {
require(false)
}
if(error is IllegalArgumentException) {
assertNull(error.getMessage())
} else {
fail("Invalid exception type: "+error)
}
}
fun testPassingRequireWithMessage() {
require(true, "Hello")
}
fun testFailingRequireWithMessage() {
val error = fails {
require(false, "Hello")
}
if(error is IllegalArgumentException) {
assertEquals("Hello", error.getMessage())
} else {
fail("Invalid exception type: "+error)
}
}
// // Not sure why the assert method is not being resolved.
// fun ignorePassingAssert() {
// assert(true)
// }
//
// fun ignoreFailingAssert() {
// failsWith<AssertionError> {
// assert(false)
// }
// }
}