135 lines
3.8 KiB
Kotlin
135 lines
3.8 KiB
Kotlin
package language
|
|
|
|
import kotlin.test.*
|
|
import org.junit.Test as test
|
|
|
|
public class RangeTest {
|
|
test fun intRange() {
|
|
val range = -5..9
|
|
assertFalse(-1000 in range)
|
|
assertFalse(-6 in range)
|
|
|
|
assertTrue(-5 in range)
|
|
assertTrue(-4 in range)
|
|
assertTrue(0 in range)
|
|
assertTrue(3 in range)
|
|
assertTrue(8 in range)
|
|
assertTrue(9 in range)
|
|
|
|
assertFalse(10 in range)
|
|
assertFalse(9000 in range)
|
|
}
|
|
|
|
test fun byteRange() {
|
|
val range = (-5).toByte()..9.toByte()
|
|
assertFalse((-100).toByte() in range)
|
|
assertFalse((-6).toByte() in range)
|
|
|
|
assertTrue((-5).toByte() in range)
|
|
assertTrue((-4).toByte() in range)
|
|
assertTrue(0.toByte() in range)
|
|
assertTrue(3.toByte() in range)
|
|
assertTrue(8.toByte() in range)
|
|
assertTrue(9.toByte() in range)
|
|
|
|
assertFalse(10.toByte() in range)
|
|
assertFalse(111.toByte() in range)
|
|
}
|
|
|
|
test fun shortRange() {
|
|
val range = (-5).toShort()..9.toShort()
|
|
assertFalse((-1000).toShort() in range)
|
|
assertFalse((-6).toShort() in range)
|
|
|
|
assertTrue((-5).toShort() in range)
|
|
assertTrue((-4).toShort() in range)
|
|
assertTrue(0.toShort() in range)
|
|
assertTrue(3.toShort() in range)
|
|
assertTrue(8.toShort() in range)
|
|
assertTrue(9.toShort() in range)
|
|
|
|
assertFalse(10.toShort() in range)
|
|
assertFalse(239.toShort() in range)
|
|
}
|
|
|
|
test fun longRange() {
|
|
val range = -5.toLong()..9.toLong()
|
|
assertFalse(-10000000.toLong() in range)
|
|
assertFalse(-6.toLong() in range)
|
|
|
|
assertTrue(-5.toLong() in range)
|
|
assertTrue(-4.toLong() in range)
|
|
assertTrue(0.toLong() in range)
|
|
assertTrue(3.toLong() in range)
|
|
assertTrue(8.toLong() in range)
|
|
assertTrue(9.toLong() in range)
|
|
|
|
assertFalse(10.toLong() in range)
|
|
assertFalse(10000000.toLong() in range)
|
|
}
|
|
|
|
test fun charRange() {
|
|
val range = 'c'..'w'
|
|
assertFalse('0' in range)
|
|
assertFalse('b' in range)
|
|
|
|
assertTrue('c' in range)
|
|
assertTrue('d' in range)
|
|
assertTrue('h' in range)
|
|
assertTrue('m' in range)
|
|
assertTrue('v' in range)
|
|
assertTrue('w' in range)
|
|
|
|
assertFalse('z' in range)
|
|
assertFalse('\u1000' in range)
|
|
}
|
|
|
|
test fun doubleRange() {
|
|
val range = -1.0..3.14159265358979
|
|
assertFalse(-1e200 in range)
|
|
assertFalse(-100.0 in range)
|
|
assertFalse(-1.00000000001 in range)
|
|
|
|
assertTrue(-1.0 in range)
|
|
assertTrue(-0.99999999999 in range)
|
|
assertTrue(0.0 in range)
|
|
assertTrue(1.5 in range)
|
|
assertTrue(3.1415 in range)
|
|
assertTrue(3.14159265358979 in range)
|
|
|
|
assertFalse(3.15 in range)
|
|
assertFalse(10.0 in range)
|
|
assertFalse(1e200 in range)
|
|
}
|
|
|
|
test fun floatRange() {
|
|
val range = -1.0.toFloat()..3.14159.toFloat()
|
|
assertFalse(-1e30.toFloat() in range)
|
|
assertFalse(-100.0.toFloat() in range)
|
|
assertFalse(-1.00001.toFloat() in range)
|
|
|
|
assertTrue(-1.0.toFloat() in range)
|
|
assertTrue(-0.99999.toFloat() in range)
|
|
assertTrue(0.0.toFloat() in range)
|
|
assertTrue(1.5.toFloat() in range)
|
|
assertTrue(3.1415.toFloat() in range)
|
|
assertTrue(3.14159.toFloat() in range)
|
|
|
|
assertFalse(3.15.toFloat() in range)
|
|
assertFalse(10.0.toFloat() in range)
|
|
assertFalse(1e30.toFloat() in range)
|
|
}
|
|
|
|
test fun comparableRange() {
|
|
val range = "island".."isle"
|
|
assertFalse("apple" in range)
|
|
assertFalse("icicle" in range)
|
|
|
|
assertTrue("island" in range)
|
|
assertTrue("isle" in range)
|
|
assertTrue("islandic" in range)
|
|
|
|
assertFalse("item" in range)
|
|
assertFalse("trail" in range)
|
|
}
|
|
} |