Introduce overloads to check for T? element contained in iterable range in a constant time
#KT-18483
This commit is contained in:
@@ -38,6 +38,10 @@ public class RangeTest {
|
||||
|
||||
assertFalse(Long.MAX_VALUE in range)
|
||||
|
||||
assertFalse(null in range)
|
||||
assertTrue(1 as Int? in range)
|
||||
assertFalse(10 as Int? in range)
|
||||
|
||||
val openRange = 1 until 10
|
||||
assertTrue(9 in openRange)
|
||||
assertFalse(10 in openRange)
|
||||
@@ -73,6 +77,8 @@ public class RangeTest {
|
||||
|
||||
assertFalse(Long.MAX_VALUE in range)
|
||||
|
||||
// assertTrue(1.toByte() as Byte? in range) // expected not to compile
|
||||
|
||||
val openRange = 1.toByte() until 10.toByte()
|
||||
assertTrue(9.toByte() in openRange)
|
||||
assertFalse(10.toByte() in openRange)
|
||||
@@ -109,6 +115,8 @@ public class RangeTest {
|
||||
|
||||
assertFalse(Long.MAX_VALUE in range)
|
||||
|
||||
// assertTrue(1.toShort() as Short? in range) // expected not to compile
|
||||
|
||||
val openRange = 1.toShort() until 10.toShort()
|
||||
assertTrue(9.toShort() in openRange)
|
||||
assertFalse(10.toShort() in openRange)
|
||||
@@ -147,6 +155,9 @@ public class RangeTest {
|
||||
assertFalse(Double.MAX_VALUE in range)
|
||||
}
|
||||
|
||||
assertFalse(null in range)
|
||||
assertTrue(1L as Long? in range)
|
||||
assertFalse(10L as Long? in range)
|
||||
|
||||
val openRange = 1L until 10L
|
||||
assertTrue(9L in openRange)
|
||||
@@ -177,6 +188,10 @@ public class RangeTest {
|
||||
assertTrue('v' in (range as ClosedRange<Char>))
|
||||
assertFalse((range as ClosedRange<Char>).isEmpty())
|
||||
|
||||
assertFalse(null in range)
|
||||
assertTrue('p' as Char? in range)
|
||||
assertFalse('z' as Char? in range)
|
||||
|
||||
val openRange = 'A' until 'Z'
|
||||
assertTrue('Y' in openRange)
|
||||
assertFalse('Z' in openRange)
|
||||
|
||||
Reference in New Issue
Block a user