JS: create new common directory for all generated tests, migrate several tests there
This commit is contained in:
+41
@@ -0,0 +1,41 @@
|
||||
package foo
|
||||
|
||||
import kotlin.reflect.KProperty
|
||||
|
||||
class State(var realValue: Int)
|
||||
|
||||
fun format(event: String, property: String, value: Int): String
|
||||
= "${event}: ${property} = ${value}; "
|
||||
|
||||
object LoggerDelegate {
|
||||
var log = ""
|
||||
|
||||
operator fun getValue(state: State, desc: KProperty<*>): Int {
|
||||
log += format("get", desc.name, state.realValue)
|
||||
return state.realValue
|
||||
}
|
||||
|
||||
operator fun setValue(state: State, desc: KProperty<*>, value: Int) {
|
||||
log += format("set", desc.name, value)
|
||||
state.realValue = value
|
||||
}
|
||||
}
|
||||
|
||||
var State.value by LoggerDelegate
|
||||
|
||||
fun box(): String {
|
||||
val state = State(1)
|
||||
var expectedLog = ""
|
||||
|
||||
assertEquals(1, state.value)
|
||||
expectedLog += format("get", "value", 1)
|
||||
|
||||
state.value = 3
|
||||
expectedLog += format("set", "value", 3)
|
||||
|
||||
assertEquals(3, state.value)
|
||||
expectedLog += format("get", "value", 3)
|
||||
|
||||
assertEquals(expectedLog, LoggerDelegate.log)
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user