// FIR_IDENTICAL
// SKIP_TXT

/*
 * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
 *
 * SPEC VERSION: 0.1-296
 * MAIN LINK: expressions, when-expression -> paragraph 6 -> sentence 3
 * NUMBER: 1
 * DESCRIPTION: 'When' with bound value and containment operator.
 * HELPERS: typesProvider, classes
 */

// TESTCASE NUMBER: 1
fun case_1(value_1: Int, value_2: Int, value_3: Short): String {
    when (value_1) {
        in Long.MIN_VALUE..-100 -> return ""
        in -99..0 -> return ""
        !in 100.toByte()..value_2 -> return ""
        in value_2..value_3 -> return ""
    }

    return ""
}

// TESTCASE NUMBER: 2
fun case_2(value_1: Int, value_2: List<IntArray>, value_3: Class) = when (value_1) {
    in value_2[0] -> ""
    !in listOf(0, 1, 2, 3, 4) -> ""
    !in value_3.getIntArray() -> ""
    else -> ""
}