30 lines
680 B
Kotlin
30 lines
680 B
Kotlin
package foo
|
|
|
|
var t: Any? = null
|
|
|
|
data class Dat(val start: String, middle: String, val end: String) {
|
|
override fun toString() = "another string"
|
|
override fun hashCode() = 371
|
|
override fun equals(other: Any?): Boolean {
|
|
t = other
|
|
return true
|
|
}
|
|
}
|
|
|
|
fun assertEquals<T>(expected: T, actual: T) {
|
|
if (expected != actual) throw Exception("expected: $expected, actual, $actual")
|
|
}
|
|
|
|
fun box(): String {
|
|
val d = Dat("max", "-", "min")
|
|
val other = Dat("other", "-", "instance")
|
|
|
|
assertEquals(371, d.hashCode())
|
|
assertEquals(true, d == other)
|
|
assertEquals(other, t)
|
|
assertEquals("another string", d.toString())
|
|
|
|
return "OK"
|
|
}
|
|
|