From 73084e5a6844451f1f0175cdc0a4a768191d9ad1 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Tue, 28 Jun 2022 18:16:51 +0300 Subject: [PATCH] Add tests for endExclusive property Now, after a bootstrap, it's possible to use it #KT-52932 --- libraries/stdlib/test/ranges/RangeTest.kt | 25 ++++++++++++++++++---- libraries/stdlib/test/ranges/URangeTest.kt | 19 ++++++++++++++-- 2 files changed, 38 insertions(+), 6 deletions(-) diff --git a/libraries/stdlib/test/ranges/RangeTest.kt b/libraries/stdlib/test/ranges/RangeTest.kt index 9c91a4d5063..5a90765f02f 100644 --- a/libraries/stdlib/test/ranges/RangeTest.kt +++ b/libraries/stdlib/test/ranges/RangeTest.kt @@ -48,7 +48,6 @@ public class RangeTest { assertEquals(closedRange, openRange2) assertTrue((1 until Int.MIN_VALUE).isEmpty()) -// assertFailsWith { (1..Int.MAX_VALUE).endExclusive } } @Test fun byteRange() { @@ -158,7 +157,6 @@ public class RangeTest { assertTrue((0 until Long.MIN_VALUE).isEmpty()) assertTrue((0L until Long.MIN_VALUE).isEmpty()) -// assertFailsWith { (1..Long.MAX_VALUE).endExclusive } } @Test fun charRange() { @@ -195,7 +193,6 @@ public class RangeTest { assertEquals(closedRange, openRange2) assertTrue(('A' until Char.MIN_VALUE).isEmpty()) -// assertFailsWith { ('A'..Char.MAX_VALUE).endExclusive } } @Test fun doubleRange() { @@ -297,6 +294,26 @@ public class RangeTest { assertFalse(Float.NaN in openRange) } + @Test + @Suppress("DEPRECATION") + fun openRangeEndExclusive() { + assertEquals((1..5).endInclusive, (1..<4).endExclusive + 1) + assertEquals((1L..5L).endInclusive, (1L..<4L).endExclusive + 1) + assertEquals(('X'..'Z').endInclusive, ('X'..<'Y').endExclusive + 1) + + assertNotEquals(Int.MIN_VALUE, (1.. { (1..Int.MAX_VALUE).endExclusive } + assertFailsWith { (1..Long.MAX_VALUE).endExclusive } + assertFailsWith { ('A'..Char.MAX_VALUE).endExclusive } + } + @Suppress("EmptyRange") @Test fun isEmpty() { assertTrue((2..1).isEmpty()) @@ -385,7 +402,7 @@ public class RangeTest { @Test fun comparableOpenRange() { val range = "island"..<"isle" assertEquals("island.. { (1u..UInt.MAX_VALUE).endExclusive } } @Test @@ -164,7 +163,23 @@ public class URangeTest { assertEquals(closedRange, openRange2) assertTrue((0uL until ULong.MIN_VALUE).isEmpty()) -// assertFailsWith { (1uL..ULong.MAX_VALUE).endExclusive } + } + + @Test + @Suppress("DEPRECATION") + fun openRangeEndExclusive() { + assertEquals((1u..5u).endInclusive, (1u..<4u).endExclusive + 1u) + assertEquals((1uL..5uL).endInclusive, (1uL..<4uL).endExclusive + 1u) + + assertNotEquals(UInt.MIN_VALUE, (1u.. { (1u..UInt.MAX_VALUE).endExclusive } + assertFailsWith { (1uL..ULong.MAX_VALUE).endExclusive } } @Suppress("EmptyRange")