Explicit equals method for primitives and correct global equals method.

Includes cosmetics.
#KT-2372 Fixed
This commit is contained in:
Pavel V. Talanov
2012-07-18 17:15:27 +04:00
parent e0651de9ed
commit b45c14b0ab
9 changed files with 52 additions and 28 deletions
@@ -9,8 +9,8 @@ class Foo(val name: String) {
}
}
fun callEqualsMethod(v1: Foo, v2: Foo): Boolean {
return v1.equals(v2)
class Bar() {
}
fun box() : Boolean {
@@ -18,7 +18,11 @@ fun box() : Boolean {
val b = Foo("abc")
val c = Foo("def")
if (!callEqualsMethod(a, b)) return false
if (callEqualsMethod(a, c)) return false
if (!(a equals b)) return false
if (a equals c) return false
if (Bar() equals Bar()) return false
val g = Bar()
if (!(g equals g)) return false
if (g equals Bar()) return false
return true
}
@@ -0,0 +1,21 @@
package foo
fun box() : Boolean {
val a = 2
if (!(a equals a)) return false
if (!(a equals 2)) return false
if (!(a equals 2.0)) return false
val c = "a"
if (!("a" equals c)) return false
if (!(null equals null)) return false
val d = 5.6
if (!(d.toShort() equals 5.toShort())) return false
if (!(d.toByte() equals 5.toByte())) return false
if (!(d.toFloat() equals 5.6.toFloat())) return false
if (!(d.toInt() equals 5)) return false
if (true equals false) return false
val n: Number = 3
if (!(n equals 3.3.toInt())) return false
return true
}