Files
kotlin-fork/js/js.translator/testData/box/dataClass/equals.kt
T
2018-09-12 09:49:25 +03:00

45 lines
941 B
Kotlin
Vendored

// EXPECTED_REACHABLE_NODES: 1312
package foo
data class Holder<T>(val v: T)
data class Dat(val start: String, val end: String)
data class Dat2(val start: String, val end: String)
class Obj(val start: String, val end: String)
fun box(): String {
val d1 = Dat("a", "b")
val d2 = Dat("a", "b")
val d3 = Dat("a", "c")
val otherD1 = Dat2("a", "b")
assertEquals(d1, d1)
assertEquals(d1, d2)
assertNotEquals(d1, d3)
assertNotEquals(d1, otherD1)
var hd1 = Holder(Dat("y", "n"))
var hd2 = Holder(Dat("y", "n"))
var hd3 = Holder(Dat("1", "2"))
assertEquals(hd1, hd1)
assertEquals(hd1, hd2)
assertNotEquals(hd1, hd3)
var ho1 = Holder(Obj("+", "-"))
var ho2 = Holder(Obj("+", "-"))
var ho3 = Holder(Obj("*", "*"))
assertEquals(ho1, ho1)
assertNotEquals(ho1, ho2)
assertNotEquals(ho1, ho3)
val d1any: Any = d1
assertTrue(d1any != "")
return "OK"
}