55 lines
1.9 KiB
Kotlin
Vendored
55 lines
1.9 KiB
Kotlin
Vendored
// DONT_TARGET_EXACT_BACKEND: JVM
|
|
// DONT_TARGET_EXACT_BACKEND: JS
|
|
// WITH_STDLIB
|
|
fun <T> T.id() = this
|
|
|
|
const val someStr = <!EVALUATED("123")!>"123"<!>
|
|
const val otherStr = <!EVALUATED("other")!>"other"<!>
|
|
|
|
const val oneVal = <!EVALUATED("1")!>1<!>
|
|
const val oneUnsignedVal = <!EVALUATED("1")!>1u<!>
|
|
|
|
const val plus1 = someStr.<!EVALUATED("123other")!>plus(otherStr)<!>
|
|
const val plus2 = someStr.<!EVALUATED("1231")!>plus(oneVal)<!>
|
|
const val plus3 = someStr.<!EVALUATED("1231")!>plus(oneUnsignedVal)<!>
|
|
|
|
const val length1 = someStr.<!EVALUATED("3")!>length<!>
|
|
const val length2 = otherStr.<!EVALUATED("5")!>length<!>
|
|
|
|
const val get1 = someStr.<!EVALUATED("1")!>get(0)<!>
|
|
const val get2 = otherStr.<!EVALUATED("t")!>get(oneVal)<!>
|
|
|
|
const val compareTo1 = someStr.<!EVALUATED("0")!>compareTo("123")<!>
|
|
const val compareTo2 = someStr.<!EVALUATED("-62")!>compareTo(otherStr)<!>
|
|
const val compareTo3 = otherStr.<!EVALUATED("62")!>compareTo(someStr)<!>
|
|
|
|
const val equals1 = <!EVALUATED("true")!>someStr == "123"<!>
|
|
const val equals2 = <!EVALUATED("false")!>someStr == otherStr<!>
|
|
const val equals3 = <!EVALUATED("false")!>otherStr == someStr<!>
|
|
|
|
const val toString1 = someStr.<!EVALUATED("123")!>toString()<!>
|
|
|
|
// STOP_EVALUATION_CHECKS
|
|
fun box(): String {
|
|
if (plus1.id() != "123other") return "Fail 1.1"
|
|
if (plus2.id() != "1231") return "Fail 1.2"
|
|
if (plus3.id() != "1231") return "Fail 1.3"
|
|
|
|
if (length1.id() != 3) return "Fail 2.1"
|
|
if (length2.id() != 5) return "Fail 2.2"
|
|
|
|
if (get1.id() != '1') return "Fail 3.1"
|
|
if (get2.id() != 't') return "Fail 3.2"
|
|
|
|
if (compareTo1.id() != 0) return "Fail 4.1"
|
|
if (compareTo2 >= 0) return "Fail 4.2"
|
|
if (compareTo3 <= 0) return "Fail 4.3"
|
|
|
|
if (equals1.id() != true) return "Fail 5.1"
|
|
if (equals2.id() != false) return "Fail 5.2"
|
|
if (equals3.id() != false) return "Fail 5.3"
|
|
|
|
if (toString1.id() != "123") return "Fail 6.1"
|
|
return "OK"
|
|
}
|