Some enum-related fixes
(NB: testEnumClass3 doesn't work yet, effective modality required for enum class)
This commit is contained in:
+15
-2
@@ -1,3 +1,16 @@
|
||||
enum class Test { OK }
|
||||
fun <T> assertEquals(actual: T, expected: T) {
|
||||
if (actual != expected) {
|
||||
throw java.lang.AssertionError("Assertion failed: $actual != $expected")
|
||||
}
|
||||
}
|
||||
|
||||
fun box() = Test.OK.toString()
|
||||
enum class Test {
|
||||
OK
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
assertEquals(Test.OK.ordinal, 0)
|
||||
assertEquals(Test.OK.name, "OK")
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
fun <T> assertEquals(actual: T, expected: T) {
|
||||
if (actual != expected) {
|
||||
throw java.lang.AssertionError("Assertion failed: $actual != $expected")
|
||||
}
|
||||
}
|
||||
|
||||
enum class TestEnumClass(val x: Int) {
|
||||
ZERO
|
||||
// {
|
||||
// init {
|
||||
// }
|
||||
// }
|
||||
;
|
||||
constructor(): this(0)
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
assertEquals(TestEnumClass.ZERO.x, 0)
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
fun <T> assertEquals(actual: T, expected: T) {
|
||||
if (actual != expected) {
|
||||
throw java.lang.AssertionError("Assertion failed: $actual != $expected")
|
||||
}
|
||||
}
|
||||
|
||||
enum class TestEnumClass {
|
||||
ZERO {
|
||||
override fun describe() = "nothing"
|
||||
};
|
||||
abstract fun describe(): String
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
assertEquals(TestEnumClass.ZERO.describe(), "nothing")
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user