Refactor JS tests: unified package name, test JS specific map implementations only in JS.

Add required files to build StdLibTestToJSTest.
Remove tests StdLibMapJsTest and StdLibSetJsTest because they are tested elsewhere.
This commit is contained in:
Ilya Gorbunov
2015-05-21 20:51:26 +03:00
parent c95ba4da8e
commit 4fd1b46e91
11 changed files with 195 additions and 204 deletions
@@ -0,0 +1,28 @@
package test.collections
import kotlin.test.*
public fun compare<T>(expected: T, actual: T, block:CompareContext<T>.() -> Unit) {
CompareContext(expected, actual).block()
}
public class CompareContext<out T>(public val expected: T, public val actual: T) {
public fun equals(message: String = "") {
assertEquals(expected, actual, message)
}
public fun propertyEquals<P>(message: String = "", getter: T.() -> P) {
assertEquals(expected.getter(), actual.getter(), message)
}
public fun propertyFails(getter: T.() -> Unit) { assertFailEquals({expected.getter()}, {actual.getter()}) }
public fun compareProperty<P>(getter: T.() -> P, block: CompareContext<P>.() -> Unit) {
compare(expected.getter(), actual.getter(), block)
}
private fun assertFailEquals(expected: () -> Unit, actual: () -> Unit) {
val expectedFail = fails(expected)
val actualFail = fails(actual)
//assertEquals(expectedFail != null, actualFail != null)
assertTypeEquals(expectedFail, actualFail)
}
}