Implemented equality comparison for primitive types
This commit is contained in:
committed by
Anton Bannykh
parent
7cde03938a
commit
3a7518cad2
+7
-4
@@ -78,6 +78,9 @@ fun box(): String {
|
||||
val dnq: Double? = dn
|
||||
val adnq: Any? = dn
|
||||
|
||||
// see https://bugs.openjdk.java.net/browse/JDK-8141407
|
||||
val nanBug = js("dn == dn")
|
||||
|
||||
assertFalse(dn == dn, "Double: NaN == NaN")
|
||||
assertTrue(dn == adn, "Double: NaN != (Any)NaN")
|
||||
assertTrue(adn == dn, "Double: (Any)NaN != NaN")
|
||||
@@ -93,7 +96,7 @@ fun box(): String {
|
||||
assertTrue(adnq == dn, "Double: (Any?)NaN != NaN")
|
||||
assertTrue(adnq == adn, "Double: (Any?)NaN != (Any)NaN")
|
||||
|
||||
assertFalse(dnq == dnq, "Double: NaN? == NaN?")
|
||||
if (!nanBug) assertFalse(dnq == dnq, "Double: NaN? == NaN?")
|
||||
assertTrue(dnq == adnq, "Double: NaN? != (Any?)NaN")
|
||||
assertTrue(adnq == dnq, "Double: (Any?)NaN != NaN?")
|
||||
assertTrue(adnq == adnq, "Double: (Any?)NaN != (Any?)NaN")
|
||||
@@ -113,7 +116,7 @@ fun box(): String {
|
||||
assertFalse(adnq != dn, "Double: (Any?)NaN != NaN")
|
||||
assertFalse(adnq != adn, "Double: (Any?)NaN != (Any)NaN")
|
||||
|
||||
assertTrue(dnq != dnq, "Double: NaN? == NaN?")
|
||||
if (!nanBug) assertTrue(dnq != dnq, "Double: NaN? == NaN?")
|
||||
assertFalse(dnq != adnq, "Double: NaN? != (Any?)NaN")
|
||||
assertFalse(adnq != dnq, "Double: (Any?)NaN != NaN?")
|
||||
assertFalse(adnq != adnq, "Double: (Any?)NaN != (Any?)NaN")
|
||||
@@ -168,7 +171,7 @@ fun box(): String {
|
||||
assertTrue(afnq == fn, "Float: (Any?)NaN != NaN")
|
||||
assertTrue(afnq == afn, "Float: (Any?)NaN != (Any)NaN")
|
||||
|
||||
assertFalse(fnq == fnq, "Float: NaN? == NaN?")
|
||||
if (!nanBug) assertFalse(fnq == fnq, "Float: NaN? == NaN?")
|
||||
assertTrue(fnq == afnq, "Float: NaN? != (Any?)NaN")
|
||||
assertTrue(afnq == fnq, "Float: (Any?)NaN != NaN?")
|
||||
assertTrue(afnq == afnq, "Float: (Any?)NaN != (Any?)NaN")
|
||||
@@ -188,7 +191,7 @@ fun box(): String {
|
||||
assertFalse(afnq != fn, "Float: (Any?)NaN != NaN")
|
||||
assertFalse(afnq != afn, "Float: (Any?)NaN != (Any)NaN")
|
||||
|
||||
assertTrue(fnq != fnq, "Float: NaN? == NaN?")
|
||||
if (!nanBug) assertTrue(fnq != fnq, "Float: NaN? == NaN?")
|
||||
assertFalse(fnq != afnq, "Float: NaN? != (Any?)NaN")
|
||||
assertFalse(afnq != fnq, "Float: (Any?)NaN != NaN?")
|
||||
assertFalse(afnq != afnq, "Float: (Any?)NaN != (Any?)NaN")
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user