From fd244be9ca5e1cddbc820fffd9fa42a5eb51a330 Mon Sep 17 00:00:00 2001 From: Anton Bannykh Date: Wed, 28 Feb 2018 16:05:26 +0300 Subject: [PATCH] JS: add tests to make sure KT-22019 is fixed --- libraries/stdlib/test/collections/ArraysTest.kt | 3 ++- libraries/stdlib/test/collections/CollectionTest.kt | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/libraries/stdlib/test/collections/ArraysTest.kt b/libraries/stdlib/test/collections/ArraysTest.kt index fdb32edce0f..01a50b04537 100644 --- a/libraries/stdlib/test/collections/ArraysTest.kt +++ b/libraries/stdlib/test/collections/ArraysTest.kt @@ -1191,7 +1191,8 @@ class ArraysTest { checkSorted( { sortedArray() }, { sortedArrayDescending() }, { iterator() }) } - with(arrayData(Double.POSITIVE_INFINITY, 1.0, Double.MAX_VALUE) { toDoubleArray() }) { + with(arrayData(Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MAX_VALUE, -Double.MAX_VALUE, + 1.0, -1.0, Double.MIN_VALUE, -Double.MIN_VALUE, 0.0, -0.0, Double.NaN) { toDoubleArray() }) { checkSorted>( { sorted() }, { sortedDescending() }, { iterator() }) checkSorted( { sortedArray() }, { sortedArrayDescending() }, { iterator() }) } diff --git a/libraries/stdlib/test/collections/CollectionTest.kt b/libraries/stdlib/test/collections/CollectionTest.kt index ce1f96f8ec9..dde2f28c5ba 100644 --- a/libraries/stdlib/test/collections/CollectionTest.kt +++ b/libraries/stdlib/test/collections/CollectionTest.kt @@ -778,6 +778,16 @@ class CollectionTest { val data = listOf(11, 3, 7) assertEquals(listOf(3, 7, 11), data.sorted()) assertEquals(listOf(11, 7, 3), data.sortedDescending()) + + assertEquals(listOf(-0.0, 0.0), listOf(0.0, -0.0).sorted()) + assertNotEquals(listOf(0.0, -0.0), listOf(0.0, -0.0).sorted()) + + val dataDouble = listOf(Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, Double.MIN_VALUE, -Double.MIN_VALUE, + 1.0, -1.0, Double.MAX_VALUE, -Double.MAX_VALUE, Double.NaN, 0.0, -0.0) + assertEquals(listOf(Double.NEGATIVE_INFINITY, -Double.MAX_VALUE, -1.0, -Double.MIN_VALUE, -0.0, + 0.0, Double.MIN_VALUE, 1.0, Double.MAX_VALUE, Double.POSITIVE_INFINITY, Double.NaN), dataDouble.sorted()) + assertEquals(listOf(Double.NaN, Double.POSITIVE_INFINITY, Double.MAX_VALUE, 1.0, Double.MIN_VALUE, 0.0, + -0.0, -Double.MIN_VALUE, -1.0, -Double.MAX_VALUE, Double.NEGATIVE_INFINITY), dataDouble.sortedDescending()) } @Test fun sortByInPlace() {