Provide "equals" and "hashCode" for reflection objects
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
import kotlin.test.*
|
||||
|
||||
val top = 42
|
||||
var top2 = -23
|
||||
|
||||
val Int.intExt: Int get() = this
|
||||
val Char.charExt: Int get() = this.toInt()
|
||||
|
||||
class A(var mem: String)
|
||||
class B(var mem: String)
|
||||
|
||||
|
||||
fun checkEqual(x: Any, y: Any) {
|
||||
assertEquals(x, y)
|
||||
assertEquals(x.hashCode(), y.hashCode(), "Elements are equal but their hash codes are not: ${x.hashCode()} != ${y.hashCode()}")
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
checkEqual(::top, ::top)
|
||||
checkEqual(::top2, ::top2)
|
||||
checkEqual(Int::intExt, Int::intExt)
|
||||
checkEqual(A::mem, A::mem)
|
||||
|
||||
assertFalse(::top == ::top2)
|
||||
assertFalse(Int::intExt == Char::charExt)
|
||||
assertFalse(A::mem == B::mem)
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user