47 lines
1.2 KiB
Kotlin
47 lines
1.2 KiB
Kotlin
package foo
|
|
|
|
enum class EmptyEnum
|
|
|
|
enum class Simple {
|
|
OK
|
|
}
|
|
|
|
enum class A {
|
|
a : A() {}
|
|
b : A()
|
|
c
|
|
}
|
|
|
|
enum class B {
|
|
c
|
|
}
|
|
fun box(): String {
|
|
if (Simple.OK.name() != "OK") return "Simple.OK.name() != OK"
|
|
val ok = Simple.OK
|
|
if (ok.ordinal() != 0) return "ok = Simple.Ok; ok.ordinal() != 0"
|
|
|
|
val ok2 = Simple.valueOf("OK")
|
|
if(!ok2.equals(ok)) return "ok2 not equal ok"
|
|
if(!ok2.identityEquals(ok)) return "ok2 not identity equal ok"
|
|
|
|
|
|
if (EmptyEnum.values().size != 0) return "EmptyEnum.values().size != 0"
|
|
|
|
if (A.values() != array(A.a, A.b, A.c)) return "Wrong A.values(): " + A.values().toString()
|
|
|
|
if (A.c.toString() != "c") return "A.c.toString() != c"
|
|
if (A.valueOf("b") != A.b) return "A.valueOf('b') != A.b"
|
|
if (A.a == A.b) return "A.a == A.b"
|
|
|
|
if (A.a.name() != "a") return "A.a.name() != a"
|
|
if (A.b.name() != "b") return "A.b.name() != b"
|
|
if (A.c.name() != "c") return "A.c.name() != c"
|
|
|
|
if (A.a.ordinal() != 0) return "A.a.ordinal() != 0"
|
|
if (A.b.ordinal() != 1) return "A.b.ordinal() != 1"
|
|
if (A.c.ordinal() != 2) return "A.c.ordinal() != 2"
|
|
|
|
if (A.c.equals(B.c)) return "A.c.equals(B.c)"
|
|
|
|
return "OK"
|
|
} |