added test case for KT-2372
This commit is contained in:
@@ -22,6 +22,10 @@ public final class EqualsTest extends AbstractExpressionTest {
|
|||||||
super("equals/");
|
super("equals/");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void TODO_testCustomEqualsMethodOnAny() throws Exception {
|
||||||
|
fooBoxTest();
|
||||||
|
}
|
||||||
|
|
||||||
public void testCustomEqualsMethod() throws Exception {
|
public void testCustomEqualsMethod() throws Exception {
|
||||||
fooBoxTest();
|
fooBoxTest();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,13 +9,16 @@ class Foo(val name: String) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun callEqualsMethod(v1: Foo?, v2: Foo?): Boolean {
|
||||||
|
return v1 == v2
|
||||||
|
}
|
||||||
|
|
||||||
fun box() : Boolean {
|
fun box() : Boolean {
|
||||||
val a = Foo("abc")
|
val a = Foo("abc")
|
||||||
val b = Foo("abc")
|
val b = Foo("abc")
|
||||||
val c = Foo("def")
|
val c = Foo("def")
|
||||||
|
|
||||||
if (a != b) return false
|
if (!callEqualsMethod(a, b)) return false
|
||||||
if (a == c) return false
|
if (callEqualsMethod(a, c)) return false
|
||||||
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
class Foo(val name: String) {
|
||||||
|
public fun equals(that: Any?): Boolean {
|
||||||
|
if (that !is Foo) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return this.name == that.name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun callEqualsMethod(v1: Any?, v2: Any?): Boolean {
|
||||||
|
return v1 == v2
|
||||||
|
}
|
||||||
|
|
||||||
|
fun box() : Boolean {
|
||||||
|
val a = Foo("abc")
|
||||||
|
val b = Foo("abc")
|
||||||
|
val c = Foo("def")
|
||||||
|
|
||||||
|
if (!callEqualsMethod(a, b)) return false
|
||||||
|
if (callEqualsMethod(a, c)) return false
|
||||||
|
return true
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user