Minor: improve usability of tests for custom equals in inline classes
This commit is contained in:
committed by
teamcity
parent
cc1b4243dd
commit
b5a23e3ef7
+4
-4
@@ -38,10 +38,10 @@ fun box(): String {
|
||||
val b2Untyped: Any = b2Typed
|
||||
val c2Untyped: Any = c2Typed
|
||||
|
||||
if ((a1Typed == b1Typed) != (a1Untyped == b1Untyped)) throw AssertionError()
|
||||
if ((a1Typed == c1Typed) != (a1Untyped == c1Untyped)) throw AssertionError()
|
||||
if ((a2Typed == b2Typed) != (a2Untyped == b2Untyped)) throw AssertionError()
|
||||
if ((a2Typed == c2Typed) != (a2Untyped == c2Untyped)) throw AssertionError()
|
||||
if ((a1Typed == b1Typed) != (a1Untyped == b1Untyped)) return "Fail 1"
|
||||
if ((a1Typed == c1Typed) != (a1Untyped == c1Untyped)) return "Fail 2"
|
||||
if ((a2Typed == b2Typed) != (a2Untyped == b2Untyped)) return "Fail 3"
|
||||
if ((a2Typed == c2Typed) != (a2Untyped == c2Untyped)) return "Fail 4"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -33,8 +33,39 @@ value class IC4(val value: Int) {
|
||||
override fun equals(other: Any?) = TODO()
|
||||
}
|
||||
|
||||
fun box() =
|
||||
if (IC1(1.0) == IC1(1.05) && IC1(1.0) != IC1(1.2)
|
||||
&& IC2(5) == IC2(6) && IC2(5) != IC2(7)
|
||||
&& IC3(5) == IC3(5) && IC3(5) != IC3(6)
|
||||
&& IC1(1.0) != Any()) "OK" else "Fail"
|
||||
fun box() = when {
|
||||
IC1(1.0) != IC1(1.05) -> "Fail 1.1"
|
||||
(IC1(1.0) as Any) != IC1(1.05) -> "Fail 1.2"
|
||||
IC1(1.0) != (IC1(1.05) as Any) -> "Fail 1.3"
|
||||
(IC1(1.0) as Any) != (IC1(1.05) as Any) -> "Fail 1.4"
|
||||
|
||||
IC1(1.0) == IC1(1.2) -> "Fail 2.1"
|
||||
(IC1(1.0) as Any) == IC1(1.2) -> "Fail 2.2"
|
||||
IC1(1.0) == (IC1(1.2) as Any) -> "Fail 2.3"
|
||||
(IC1(1.0) as Any) == (IC1(1.2) as Any) -> "Fail 2.4"
|
||||
|
||||
IC2(5) != IC2(6) -> "Fail 3.1"
|
||||
(IC2(5) as Any) != IC2(6) -> "Fail 3.2"
|
||||
IC2(5) != (IC2(6) as Any) -> "Fail 3.3"
|
||||
(IC2(5) as Any) != (IC2(6) as Any) -> "Fail 3.4"
|
||||
|
||||
IC2(5) == IC2(7) -> "Fail 4.1"
|
||||
(IC2(5) as Any) == IC2(7) -> "Fail 4.2"
|
||||
IC2(5) == (IC2(7) as Any) -> "Fail 4.3"
|
||||
(IC2(5) as Any) == (IC2(7) as Any) -> "Fail 4.4"
|
||||
|
||||
IC3(5) != IC3(5) -> "Fail 5.1"
|
||||
(IC3(5) as Any) != IC3(5) -> "Fail 5.2"
|
||||
IC3(5) != (IC3(5) as Any) -> "Fail 5.3"
|
||||
(IC3(5) as Any) != (IC3(5) as Any) -> "Fail 5.4"
|
||||
|
||||
IC3(5) == IC3(6) -> "Fail 6.1"
|
||||
(IC3(5) as Any) == IC3(6) -> "Fail 6.2"
|
||||
IC3(5) == (IC3(6) as Any) -> "Fail 6.3"
|
||||
(IC3(5) as Any) == (IC3(6) as Any) -> "Fail 6.4"
|
||||
|
||||
IC1(1.0) == Any() -> "Fail 7.1"
|
||||
(IC1(1.0) as Any) == Any() -> "Fail 7.2"
|
||||
|
||||
else -> "OK"
|
||||
}
|
||||
+5
-1
@@ -19,5 +19,9 @@ value class IC(val x: Int) {
|
||||
|
||||
fun box(): String {
|
||||
val set = setOf(IC(1), IC(2), IC(5))
|
||||
return if (set.size == 2 && IC(1) == IC(1) && IC(1) == IC(2) && IC(1) != IC(5)) "OK" else "Fail"
|
||||
if (set.size != 2) return "Fail 1"
|
||||
if (IC(1) != IC(1)) return "Fail 2"
|
||||
if (IC(1) != IC(2)) return "Fail 3"
|
||||
if (IC(1) == IC(5)) return "Fail 4"
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user