Implement tests map generator and refactor folder structure to spec tests linking

This commit is contained in:
victor.petukhov
2019-08-19 11:26:12 +03:00
parent 28da325a11
commit cf692fb257
217 changed files with 2827 additions and 1787 deletions
@@ -0,0 +1,14 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, binary-integer-literals -> paragraph 1 -> sentence 1
* NUMBER: 1
* DESCRIPTION: Binary integer literals with the prefix only.
*/
// TESTCASE NUMBER: 1
val value_1 = <!INT_LITERAL_OUT_OF_RANGE!>0b<!>
// TESTCASE NUMBER: 2
val value_2 = <!INT_LITERAL_OUT_OF_RANGE!>0B<!>
@@ -0,0 +1,4 @@
package
public val value_1: kotlin.Int
public val value_2: kotlin.Int
@@ -0,0 +1,20 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, binary-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 1
* DESCRIPTION: Binary integer literals with an underscore after the prefix.
*/
// TESTCASE NUMBER: 1
val value_1 = <!ILLEGAL_UNDERSCORE!>0b_1110100000<!>
// TESTCASE NUMBER: 2
val value_2 = <!ILLEGAL_UNDERSCORE!>0B_______11010000<!>
// TESTCASE NUMBER: 3
val value_3 = <!ILLEGAL_UNDERSCORE!>0B_1_1_0_1_0_0_0_0<!>
// TESTCASE NUMBER: 4
val value_4 = <!ILLEGAL_UNDERSCORE, INT_LITERAL_OUT_OF_RANGE!>0b_<!>
@@ -0,0 +1,6 @@
package
public val value_1: kotlin.Int = 928
public val value_2: kotlin.Int = 208
public val value_3: kotlin.Int = 208
public val value_4: kotlin.Int
@@ -0,0 +1,41 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, binary-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 2
* DESCRIPTION: Binary integer literals with an underscore in the first position (it's considered as identifiers).
*/
// TESTCASE NUMBER: 1
val value_1 = <!UNRESOLVED_REFERENCE!>_____0b0_1_1_1_0_1<!>
// TESTCASE NUMBER: 2
val value_2 = <!UNRESOLVED_REFERENCE!>_0B1_______1_______1_______0<!>
// TESTCASE NUMBER: 3
val value_3 = <!UNRESOLVED_REFERENCE!>_0_0B1_0_1_1_1_0_1_1<!>
// TESTCASE NUMBER: 4
val value_4 = <!UNRESOLVED_REFERENCE!>_0B000000000<!>
// TESTCASE NUMBER: 5
val value_5 = <!UNRESOLVED_REFERENCE!>_0000000000b<!>
// TESTCASE NUMBER: 6
val value_6 = <!UNRESOLVED_REFERENCE!>_0_1b<!>
// TESTCASE NUMBER: 7
val value_7 = <!UNRESOLVED_REFERENCE!>____________0b<!>
// TESTCASE NUMBER: 8
val value_8 = <!UNRESOLVED_REFERENCE!>_0_b_0<!>
// TESTCASE NUMBER: 9
val value_9 = <!UNRESOLVED_REFERENCE!>_b_0<!>
// TESTCASE NUMBER: 10
val value_10 = <!UNRESOLVED_REFERENCE!>_b<!>
// TESTCASE NUMBER: 12
val value_12 = <!UNRESOLVED_REFERENCE!>_b_<!>
@@ -0,0 +1,13 @@
package
public val value_1: [ERROR : Type for _____0b0_1_1_1_0_1]
public val value_10: [ERROR : Type for _b]
public val value_12: [ERROR : Type for _b_]
public val value_2: [ERROR : Type for _0B1_______1_______1_______0]
public val value_3: [ERROR : Type for _0_0B1_0_1_1_1_0_1_1]
public val value_4: [ERROR : Type for _0B000000000]
public val value_5: [ERROR : Type for _0000000000b]
public val value_6: [ERROR : Type for _0_1b]
public val value_7: [ERROR : Type for ____________0b]
public val value_8: [ERROR : Type for _0_b_0]
public val value_9: [ERROR : Type for _b_0]
@@ -0,0 +1,29 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, binary-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 3
* DESCRIPTION: Binary integer literals with an underscore in the last position.
*/
// TESTCASE NUMBER: 1
val value_1 = <!ILLEGAL_UNDERSCORE!>0b0_1_1_0_1_1_____<!>
// TESTCASE NUMBER: 2
val value_2 = <!ILLEGAL_UNDERSCORE!>0B1_______1_______0_______1_<!>
// TESTCASE NUMBER: 3
val value_3 = <!ILLEGAL_UNDERSCORE!>0B000000000_<!>
// TESTCASE NUMBER: 4
val value_4 = <!ILLEGAL_UNDERSCORE, INT_LITERAL_OUT_OF_RANGE!>0b_<!>
// TESTCASE NUMBER: 5
val value_5 = <!ILLEGAL_UNDERSCORE, INT_LITERAL_OUT_OF_RANGE!>0B______________<!>
// TESTCASE NUMBER: 6
val value_6 = <!ILLEGAL_UNDERSCORE!>0B0_<!>
// TESTCASE NUMBER: 7
val value_7 = <!ILLEGAL_UNDERSCORE!>0B10_<!>
@@ -0,0 +1,9 @@
package
public val value_1: kotlin.Int = 27
public val value_2: kotlin.Int = 13
public val value_3: kotlin.Int = 0
public val value_4: kotlin.Int
public val value_5: kotlin.Int
public val value_6: kotlin.Int = 0
public val value_7: kotlin.Int = 2
@@ -0,0 +1,12 @@
/*
* This file is generated by {@link org.jetbrains.kotlin.spec.tasks.generateTests}. DO NOT MODIFY MANUALLY.
* This file is used in the HTML version of the Kotlin Specification (https://kotlin.github.io/kotlin-spec) to show tests coverage for sentences.
*
* Content format:
*
* {paragraphNumber}
* {testType: neg|pos}: {sentenceNumber}-{numberOfTests|testPathToAnotherSection}, ...
*/
1
neg: 2-3, 1-1
@@ -0,0 +1,23 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, decimal-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 1
* DESCRIPTION: Integer literals with an underscore in the last position.
*/
// TESTCASE NUMBER: 1
val value_1 = <!ILLEGAL_UNDERSCORE!>1_<!>
// TESTCASE NUMBER: 2
val value_2 = <!ILLEGAL_UNDERSCORE!>1_00000000000000000_<!>
// TESTCASE NUMBER: 3
val value_3 = <!ILLEGAL_UNDERSCORE!>1_____________<!>
// TESTCASE NUMBER: 4
val value_4 = <!ILLEGAL_UNDERSCORE!>9____________0_<!>
// TESTCASE NUMBER: 5
val value_5 = <!ILLEGAL_UNDERSCORE!>1_______________________________________________________________________________________________________________________________________________________<!>
@@ -0,0 +1,7 @@
package
public val value_1: kotlin.Int = 1
public val value_2: kotlin.Long = 100000000000000000.toLong()
public val value_3: kotlin.Int = 1
public val value_4: kotlin.Int = 90
public val value_5: kotlin.Int = 1
@@ -0,0 +1,32 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, decimal-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 2
* DESCRIPTION: Integer literals with an underscore in the first position (it's considered as identifiers).
*/
// TESTCASE NUMBER: 1
val value_1 = <!UNRESOLVED_REFERENCE!>_5678_90<!>
// TESTCASE NUMBER: 2
val value_2 = <!UNRESOLVED_REFERENCE!>_2_3_4_5_6_7_8_9_<!>
// TESTCASE NUMBER: 3
val value_3 = <!UNRESOLVED_REFERENCE!>_____________0000<!>
// TESTCASE NUMBER: 4
val value_4 = <!UNRESOLVED_REFERENCE!>_______________________________________________________________________________________________________________________________________________________0<!>
// TESTCASE NUMBER: 5
val value_5 = <!UNRESOLVED_REFERENCE!>____________________________________________________<!>
// TESTCASE NUMBER: 6
val value_6 = <!UNRESOLVED_REFERENCE!>_<!>
// TESTCASE NUMBER: 7
val value_7 = <!UNRESOLVED_REFERENCE!>_0_<!>
// TESTCASE NUMBER: 8
val value_8 = <!UNRESOLVED_REFERENCE!>_9_<!>
@@ -0,0 +1,10 @@
package
public val value_1: [ERROR : Type for _5678_90]
public val value_2: [ERROR : Type for _2_3_4_5_6_7_8_9_]
public val value_3: [ERROR : Type for _____________0000]
public val value_4: [ERROR : Type for _______________________________________________________________________________________________________________________________________________________0]
public val value_5: [ERROR : Type for ____________________________________________________]
public val value_6: [ERROR : Type for _]
public val value_7: [ERROR : Type for _0_]
public val value_8: [ERROR : Type for _9_]
@@ -0,0 +1,12 @@
/*
* This file is generated by {@link org.jetbrains.kotlin.spec.tasks.generateTests}. DO NOT MODIFY MANUALLY.
* This file is used in the HTML version of the Kotlin Specification (https://kotlin.github.io/kotlin-spec) to show tests coverage for sentences.
*
* Content format:
*
* {paragraphNumber}
* {testType: neg|pos}: {sentenceNumber}-{numberOfTests|testPathToAnotherSection}, ...
*/
1
neg: 2-2
@@ -0,0 +1,14 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, hexadecimal-integer-literals -> paragraph 1 -> sentence 1
* NUMBER: 1
* DESCRIPTION: Hexadecimal integer literals with the prefix only.
*/
// TESTCASE NUMBER: 1
val value_1 = <!INT_LITERAL_OUT_OF_RANGE!>0x<!>
// TESTCASE NUMBER: 2
val value_2 = <!INT_LITERAL_OUT_OF_RANGE!>0X<!>
@@ -0,0 +1,4 @@
package
public val value_1: kotlin.Int
public val value_2: kotlin.Int
@@ -0,0 +1,20 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, hexadecimal-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 1
* DESCRIPTION: Hexadecimal integer literals with an underscore after the prefix.
*/
// TESTCASE NUMBER: 1
val value_1 = <!ILLEGAL_UNDERSCORE!>0x_1234567890<!>
// TESTCASE NUMBER: 2
val value_2 = <!ILLEGAL_UNDERSCORE!>0X_______23456789<!>
// TESTCASE NUMBER: 3
val value_3 = <!ILLEGAL_UNDERSCORE!>0X_2_3_4_5_6_7_8_9<!>
// TESTCASE NUMBER: 4
val value_4 = <!ILLEGAL_UNDERSCORE, INT_LITERAL_OUT_OF_RANGE!>0x_<!>
@@ -0,0 +1,6 @@
package
public val value_1: kotlin.Long = 78187493520.toLong()
public val value_2: kotlin.Int = 591751049
public val value_3: kotlin.Int = 591751049
public val value_4: kotlin.Int
@@ -0,0 +1,41 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, hexadecimal-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 2
* DESCRIPTION: Hexadecimal integer literals with an underscore in the first position (it's considered as identifiers).
*/
// TESTCASE NUMBER: 1
val value_1 = <!UNRESOLVED_REFERENCE!>_____0x3_4_5_6_7_8<!>
// TESTCASE NUMBER: 2
val value_2 = <!UNRESOLVED_REFERENCE!>_0X4_______5_______6_______7<!>
// TESTCASE NUMBER: 3
val value_3 = <!UNRESOLVED_REFERENCE!>_0_0X4_3_4_5_6_7_8_9<!>
// TESTCASE NUMBER: 4
val value_4 = <!UNRESOLVED_REFERENCE!>_0X000000000<!>
// TESTCASE NUMBER: 5
val value_5 = <!UNRESOLVED_REFERENCE!>_0000000000x<!>
// TESTCASE NUMBER: 6
val value_6 = <!UNRESOLVED_REFERENCE!>_0_9x<!>
// TESTCASE NUMBER: 7
val value_7 = <!UNRESOLVED_REFERENCE!>____________0x<!>
// TESTCASE NUMBER: 8
val value_8 = <!UNRESOLVED_REFERENCE!>_0_x_0<!>
// TESTCASE NUMBER: 9
val value_9 = <!UNRESOLVED_REFERENCE!>_x_0<!>
// TESTCASE NUMBER: 10
val value_10 = <!UNRESOLVED_REFERENCE!>_x<!>
// TESTCASE NUMBER: 11
val value_11 = <!UNRESOLVED_REFERENCE!>_x_<!>
@@ -0,0 +1,13 @@
package
public val value_1: [ERROR : Type for _____0x3_4_5_6_7_8]
public val value_10: [ERROR : Type for _x]
public val value_11: [ERROR : Type for _x_]
public val value_2: [ERROR : Type for _0X4_______5_______6_______7]
public val value_3: [ERROR : Type for _0_0X4_3_4_5_6_7_8_9]
public val value_4: [ERROR : Type for _0X000000000]
public val value_5: [ERROR : Type for _0000000000x]
public val value_6: [ERROR : Type for _0_9x]
public val value_7: [ERROR : Type for ____________0x]
public val value_8: [ERROR : Type for _0_x_0]
public val value_9: [ERROR : Type for _x_0]
@@ -0,0 +1,29 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, hexadecimal-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 3
* DESCRIPTION: Hexadecimal integer literals with an underscore in the last position.
*/
// TESTCASE NUMBER: 1
val value_1 = <!ILLEGAL_UNDERSCORE!>0x3_4_5_6_7_8_____<!>
// TESTCASE NUMBER: 2
val value_2 = <!ILLEGAL_UNDERSCORE!>0X4_______5_______6_______7_<!>
// TESTCASE NUMBER: 3
val value_3 = <!ILLEGAL_UNDERSCORE!>0X000000000_<!>
// TESTCASE NUMBER: 5
val value_5 = <!ILLEGAL_UNDERSCORE, INT_LITERAL_OUT_OF_RANGE!>0x_<!>
// TESTCASE NUMBER: 6
val value_6 = <!ILLEGAL_UNDERSCORE, INT_LITERAL_OUT_OF_RANGE!>0X______________<!>
// TESTCASE NUMBER: 7
val value_7 = <!ILLEGAL_UNDERSCORE!>0X0_<!>
// TESTCASE NUMBER: 8
val value_8 = <!ILLEGAL_UNDERSCORE!>0X10_<!>
@@ -0,0 +1,9 @@
package
public val value_1: kotlin.Int = 3430008
public val value_2: kotlin.Int = 17767
public val value_3: kotlin.Int = 0
public val value_5: kotlin.Int
public val value_6: kotlin.Int
public val value_7: kotlin.Int = 0
public val value_8: kotlin.Int = 16
@@ -0,0 +1,12 @@
/*
* This file is generated by {@link org.jetbrains.kotlin.spec.tasks.generateTests}. DO NOT MODIFY MANUALLY.
* This file is used in the HTML version of the Kotlin Specification (https://kotlin.github.io/kotlin-spec) to show tests coverage for sentences.
*
* Content format:
*
* {paragraphNumber}
* {testType: neg|pos}: {sentenceNumber}-{numberOfTests|testPathToAnotherSection}, ...
*/
1
neg: 2-3, 1-1
@@ -0,0 +1,32 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 1
* NUMBER: 1
* DESCRIPTION: Binary and hexadecimal integer literals with a long literal mark only.
*/
// TESTCASE NUMBER: 1
val value_1 = <!INT_LITERAL_OUT_OF_RANGE!>0bl<!>
// TESTCASE NUMBER: 2
val value_2 = <!INT_LITERAL_OUT_OF_RANGE!>0BL<!>
// TESTCASE NUMBER: 3
val value_3 = <!INT_LITERAL_OUT_OF_RANGE!>0Xl<!>
// TESTCASE NUMBER: 4
val value_4 = <!INT_LITERAL_OUT_OF_RANGE!>0xL<!>
// TESTCASE NUMBER: 5
val value_5 = <!ILLEGAL_UNDERSCORE, INT_LITERAL_OUT_OF_RANGE!>0b_l<!>
// TESTCASE NUMBER: 6
val value_6 = <!ILLEGAL_UNDERSCORE, INT_LITERAL_OUT_OF_RANGE!>0B_L<!>
// TESTCASE NUMBER: 7
val value_7 = <!ILLEGAL_UNDERSCORE, INT_LITERAL_OUT_OF_RANGE!>0X____l<!>
// TESTCASE NUMBER: 8
val value_8 = <!ILLEGAL_UNDERSCORE, INT_LITERAL_OUT_OF_RANGE!>0x_L<!>
@@ -0,0 +1,10 @@
package
public val value_1: kotlin.Int
public val value_2: kotlin.Int
public val value_3: kotlin.Int
public val value_4: kotlin.Int
public val value_5: kotlin.Int
public val value_6: kotlin.Int
public val value_7: kotlin.Int
public val value_8: kotlin.Int
@@ -0,0 +1,20 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 1
* NUMBER: 2
* DESCRIPTION: Various integer literals with a not allowed underscore before the long literal mark.
*/
// TESTCASE NUMBER: 1
val value_1 = <!ILLEGAL_UNDERSCORE!>0b0_<!WRONG_LONG_SUFFIX!>l<!><!>
// TESTCASE NUMBER: 2
val value_2 = <!ILLEGAL_UNDERSCORE, INT_LITERAL_OUT_OF_RANGE!>0B12_L<!>
// TESTCASE NUMBER: 3
val value_3 = <!ILLEGAL_UNDERSCORE!>0X234_<!WRONG_LONG_SUFFIX!>l<!><!>
// TESTCASE NUMBER: 4
val value_4 = <!ILLEGAL_UNDERSCORE!>0x3567_L<!>
@@ -0,0 +1,6 @@
package
public val value_1: kotlin.Long = 0.toLong()
public val value_2: kotlin.Int
public val value_3: kotlin.Long = 564.toLong()
public val value_4: kotlin.Long = 13671.toLong()
@@ -0,0 +1,20 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 1
* NUMBER: 3
* DESCRIPTION: Various integer literals with not allowed long literal mark in lower case.
*/
// TESTCASE NUMBER: 1
val value_1 = 0<!WRONG_LONG_SUFFIX!>l<!>
// TESTCASE NUMBER: 2
val value_2 = 1000000000000000<!WRONG_LONG_SUFFIX!>l<!>
// TESTCASE NUMBER: 3
val value_3 = 0X0<!WRONG_LONG_SUFFIX!>l<!>
// TESTCASE NUMBER: 4
val value_4 = 0b101<!WRONG_LONG_SUFFIX!>l<!>
@@ -0,0 +1,6 @@
package
public val value_1: kotlin.Long = 0.toLong()
public val value_2: kotlin.Long = 1000000000000000.toLong()
public val value_3: kotlin.Long = 0.toLong()
public val value_4: kotlin.Long = 5.toLong()
@@ -0,0 +1,21 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 1
* DESCRIPTION: Various integer literals with not allowed long literal mark in lower case (type checking).
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
fun case_1() {
0<!WRONG_LONG_SUFFIX!>l<!> checkType { check<Long>() }
10000000000000<!WRONG_LONG_SUFFIX!>l<!> checkType { check<Long>() }
0X000Af10cD<!WRONG_LONG_SUFFIX!>l<!> checkType { check<Long>() }
0x0_0<!WRONG_LONG_SUFFIX!>l<!> checkType { check<Long>() }
0b100_000_111_111<!WRONG_LONG_SUFFIX!>l<!> checkType { check<Long>() }
0b0<!WRONG_LONG_SUFFIX!>l<!> checkType { check<Long>() }
}
@@ -0,0 +1,28 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 2
* DESCRIPTION: Type checking (comparison with invalid types) of various integer literals with long literal mark.
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
fun case_1() {
0L checkType { <!TYPE_MISMATCH!>check<!><Short>() }
1000000L checkType { <!TYPE_MISMATCH!>check<!><Int>() }
0XAf10cDL checkType { <!TYPE_MISMATCH!>check<!><Int>() }
0x0_0L checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
0b100_000_111_111L checkType { <!TYPE_MISMATCH!>check<!><Short>() }
0b0L checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
checkSubtype<Short>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>0L<!>)
checkSubtype<Int>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1000000L<!>)
checkSubtype<Int>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>0XAf10cDL<!>)
checkSubtype<Byte>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>0x0_0L<!>)
checkSubtype<Short>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>0b100_000_111_111L<!>)
checkSubtype<Byte>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>0b0L<!>)
}
@@ -0,0 +1,122 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 3
* DESCRIPTION: Type checking (comparison with invalid types) of various integer literals.
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
fun case_1() {
0 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
0 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
0 checkType { <!TYPE_MISMATCH!>check<!><Long>() }
}
// TESTCASE NUMBER: 2
fun case_2() {
127 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
127 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
127 checkType { <!TYPE_MISMATCH!>check<!><Long>() }
checkSubtype<Byte>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>128<!>)
128 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
128 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
128 checkType { <!TYPE_MISMATCH!>check<!><Long>() }
-128 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
-128 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
-128 checkType { <!TYPE_MISMATCH!>check<!><Long>() }
checkSubtype<Byte>(<!TYPE_MISMATCH!>-129<!>)
-129 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
-129 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
-129 checkType { <!TYPE_MISMATCH!>check<!><Long>() }
}
// TESTCASE NUMBER: 3
fun case_3() {
checkSubtype<Byte>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>32767<!>)
32767 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
32767 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
32767 checkType { <!TYPE_MISMATCH!>check<!><Long>() }
checkSubtype<Byte>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>32768<!>)
checkSubtype<Short>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>32768<!>)
32768 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
32768 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
32768 checkType { <!TYPE_MISMATCH!>check<!><Long>() }
checkSubtype<Byte>(<!TYPE_MISMATCH!>-32768<!>)
-32768 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
-32768 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
-32768 checkType { <!TYPE_MISMATCH!>check<!><Long>() }
checkSubtype<Byte>(<!TYPE_MISMATCH!>-32769<!>)
checkSubtype<Short>(<!TYPE_MISMATCH!>-32769<!>)
-32769 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
-32769 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
-32769 checkType { <!TYPE_MISMATCH!>check<!><Long>() }
}
// TESTCASE NUMBER: 4
fun case_4() {
checkSubtype<Byte>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>2147483647<!>)
checkSubtype<Short>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>2147483647<!>)
2147483647 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
2147483647 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
2147483647 checkType { <!TYPE_MISMATCH!>check<!><Long>() }
checkSubtype<Byte>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>2147483648<!>)
checkSubtype<Short>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>2147483648<!>)
checkSubtype<Int>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>2147483648<!>)
2147483648 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
2147483648 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
2147483648 checkType { <!TYPE_MISMATCH!>check<!><Int>() }
checkSubtype<Byte>(<!TYPE_MISMATCH!>-2147483648<!>)
checkSubtype<Short>(<!TYPE_MISMATCH!>-2147483648<!>)
-2147483648 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
-2147483648 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
-2147483648 checkType { <!TYPE_MISMATCH!>check<!><Long>() }
checkSubtype<Byte>(<!TYPE_MISMATCH!>-2147483649<!>)
checkSubtype<Short>(<!TYPE_MISMATCH!>-2147483649<!>)
checkSubtype<Int>(<!TYPE_MISMATCH!>-2147483649<!>)
-2147483649 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
-2147483649 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
-2147483649 checkType { <!TYPE_MISMATCH!>check<!><Int>() }
}
// TESTCASE NUMBER: 5
fun case_5() {
checkSubtype<Byte>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>9223372036854775807<!>)
checkSubtype<Short>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>9223372036854775807<!>)
checkSubtype<Int>(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>9223372036854775807<!>)
9223372036854775807 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
9223372036854775807 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
9223372036854775807 checkType { <!TYPE_MISMATCH!>check<!><Int>() }
checkSubtype<Byte>(<!TYPE_MISMATCH!>-9223372036854775807<!>)
checkSubtype<Short>(<!TYPE_MISMATCH!>-9223372036854775807<!>)
checkSubtype<Int>(<!TYPE_MISMATCH!>-9223372036854775807<!>)
-9223372036854775807 checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
-9223372036854775807 checkType { <!TYPE_MISMATCH!>check<!><Short>() }
-9223372036854775807 checkType { <!TYPE_MISMATCH!>check<!><Int>() }
}
// TESTCASE NUMBER: 6
fun case_6() {
checkSubtype<Byte>(<!TYPE_MISMATCH!>-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000<!><!>)
checkSubtype<Short>(<!TYPE_MISMATCH!>-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000<!><!>)
checkSubtype<Int>(-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000<!>)
checkSubtype<Long>(<!TYPE_MISMATCH!>-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000<!><!>)
-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000<!> checkType { <!TYPE_MISMATCH!>check<!><Byte>() }
-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000<!> checkType { <!TYPE_MISMATCH!>check<!><Short>() }
-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000<!> checkType { check<Int>() }
-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000<!> checkType { <!TYPE_MISMATCH!>check<!><Long>() }
}
@@ -0,0 +1,35 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 4
* DESCRIPTION: Type checking (comparison with invalid types) of too a big integers.
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
fun case_1() {
checkSubtype<Long>(<!TYPE_MISMATCH!>-<!INT_LITERAL_OUT_OF_RANGE!>9223372036854775808L<!><!>)
-<!INT_LITERAL_OUT_OF_RANGE!>9223372036854775808L<!> checkType { <!TYPE_MISMATCH!>check<!><Long>() }
checkSubtype<Long>(<!INT_LITERAL_OUT_OF_RANGE!>9223372036854775808L<!>)
<!INT_LITERAL_OUT_OF_RANGE!>9223372036854775808L<!> checkType { <!TYPE_MISMATCH!>check<!><Long>() }
}
// TESTCASE NUMBER: 2
fun case_2() {
checkSubtype<Long>(<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000L<!>)
<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000L<!> checkType { <!TYPE_MISMATCH!>check<!><Long>() }
checkSubtype<Long>(<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000l<!>)
<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000l<!> checkType { <!TYPE_MISMATCH!>check<!><Long>() }
checkSubtype<Long>(<!TYPE_MISMATCH!>-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000L<!><!>)
-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000L<!> checkType { <!TYPE_MISMATCH!>check<!><Long>() }
checkSubtype<Long>(<!TYPE_MISMATCH!>-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000l<!><!>)
-<!INT_LITERAL_OUT_OF_RANGE!>100000000000000000000000000000000l<!> checkType { <!TYPE_MISMATCH!>check<!><Long>() }
}
@@ -0,0 +1,68 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 5
* DESCRIPTION: Check of integer type selection depends on the context (incopatible types).
* HELPERS: checkType
*/
// FILE: functions.kt
package functions
// TESTCASE NUMBER: 1
fun f1(x1: Byte) = x1
// TESTCASE NUMBER: 2
fun f2(x1: Short) = x1
// TESTCASE NUMBER: 3, 4
fun f3(x1: Int) = x1
// FILE: main.kt
import functions.*
// TESTCASE NUMBER: 1
fun case_1() {
f1(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>128<!>)
f1(<!TYPE_MISMATCH!>-129<!>)
f1(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>32767<!>)
f1(<!TYPE_MISMATCH!>-32768<!>)
f1(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>2147483647<!>)
f1(<!TYPE_MISMATCH!>-2147483648<!>)
f1(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>9223372036854775807<!>)
f1(<!TYPE_MISMATCH!>-9223372036854775807<!>)
f1(<!INT_LITERAL_OUT_OF_RANGE!>1000000000000000000000000000000000000000000000000<!>)
f1(<!TYPE_MISMATCH!>-<!INT_LITERAL_OUT_OF_RANGE!>1000000000000000000000000000000000000000000000000<!><!>)
}
// TESTCASE NUMBER: 2
fun case_2() {
f2(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>32768<!>)
f2(<!TYPE_MISMATCH!>-32769<!>)
f2(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>2147483647<!>)
f2(<!TYPE_MISMATCH!>-2147483648<!>)
f2(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>9223372036854775807<!>)
f2(<!TYPE_MISMATCH!>-9223372036854775807<!>)
f2(<!INT_LITERAL_OUT_OF_RANGE!>1000000000000000000000000000000000000000000000000<!>)
f2(<!TYPE_MISMATCH!>-<!INT_LITERAL_OUT_OF_RANGE!>1000000000000000000000000000000000000000000000000<!><!>)
}
// TESTCASE NUMBER: 3
fun case_3() {
f3(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>9223372036854775807<!>)
f3(<!TYPE_MISMATCH!>-9223372036854775807<!>)
f3(<!INT_LITERAL_OUT_OF_RANGE!>1000000000000000000000000000000000000000000000000<!>)
f3(-<!INT_LITERAL_OUT_OF_RANGE!>1000000000000000000000000000000000000000000000000<!>)
}
// TESTCASE NUMBER: 4
fun case_4() {
f3(<!INT_LITERAL_OUT_OF_RANGE!>1000000000000000000000000000000000000000000000000<!>)
f3(-<!INT_LITERAL_OUT_OF_RANGE!>1000000000000000000000000000000000000000000000000<!>)
}
@@ -0,0 +1,33 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 1
* DESCRIPTION: Type checking of various integer literals with long literal mark.
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
fun case_1() {
0L checkType { check<Long>() }
10000000000000L checkType { check<Long>() }
0X000Af10cDL checkType { check<Long>() }
0x0_0L checkType { check<Long>() }
0b100_000_111_111L checkType { check<Long>() }
0b0L checkType { check<Long>() }
}
// TESTCASE NUMBER: 2
fun case_2() {
9223372036854775807L checkType { check<Long>() }
-9223372036854775807L checkType { check<Long>() }
0X7FFFFFFFFFFFFFFFL checkType { check<Long>() }
-0x7FFFFFFFFFFFFFFFL checkType { check<Long>() }
0b111111111111111111111111111111111111111111111111111111111111111L checkType { check<Long>() }
-0B111111111111111111111111111111111111111111111111111111111111111L checkType { check<Long>() }
}
@@ -0,0 +1,92 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 2
* DESCRIPTION: Type checking of decimal integer literals.
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
fun case_1() {
0 checkType { check<Int>() }
checkSubtype<Int>(0)
checkSubtype<Short>(0)
checkSubtype<Byte>(0)
checkSubtype<Long>(0)
}
// TESTCASE NUMBER: 2
fun case_2() {
127 checkType { check<Int>() }
checkSubtype<Int>(127)
checkSubtype<Short>(127)
checkSubtype<Byte>(127)
checkSubtype<Long>(127)
128 checkType { check<Int>() }
checkSubtype<Int>(128)
checkSubtype<Short>(128)
checkSubtype<Long>(128)
-128 checkType { check<Int>() }
checkSubtype<Int>(-128)
checkSubtype<Short>(-128)
checkSubtype<Byte>(-128)
checkSubtype<Long>(-128)
-129 checkType { check<Int>() }
checkSubtype<Int>(-129)
checkSubtype<Short>(-129)
checkSubtype<Long>(-129)
}
// TESTCASE NUMBER: 3
fun case_3() {
32767 checkType { check<Int>() }
checkSubtype<Int>(32767)
checkSubtype<Short>(32767)
checkSubtype<Long>(32767)
32768 checkType { check<Int>() }
checkSubtype<Int>(32768)
checkSubtype<Long>(32768)
-32768 checkType { check<Int>() }
checkSubtype<Int>(-32768)
checkSubtype<Short>(-32768)
checkSubtype<Long>(-32768)
-32769 checkType { check<Int>() }
checkSubtype<Int>(-32769)
checkSubtype<Long>(-32769)
}
// TESTCASE NUMBER: 4
fun case_4() {
2147483647 checkType { check<Int>() }
checkSubtype<Int>(2147483647)
checkSubtype<Long>(2147483647)
2147483648 checkType { check<Long>() }
checkSubtype<Long>(2147483648)
-2147483648 checkType { check<Int>() }
checkSubtype<Int>(-2147483648)
checkSubtype<Long>(-2147483648)
-2147483649 checkType { check<Long>() }
checkSubtype<Long>(-2147483649)
}
// TESTCASE NUMBER: 5
fun case_5() {
9223372036854775807 checkType { check<Long>() }
checkSubtype<Long>(9223372036854775807)
-9223372036854775807 checkType { check<Long>() }
checkSubtype<Long>(-9223372036854775807)
}
@@ -0,0 +1,92 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 3
* DESCRIPTION: Type checking of hexadecimal integer literals.
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
fun case_1() {
0x0 checkType { check<Int>() }
checkSubtype<Int>(0x0)
checkSubtype<Short>(0x0)
checkSubtype<Byte>(0x0)
checkSubtype<Long>(0x0)
}
// TESTCASE NUMBER: 2
fun case_2() {
0x7F checkType { check<Int>() }
checkSubtype<Int>(0x7F)
checkSubtype<Short>(0x7F)
checkSubtype<Byte>(0x7F)
checkSubtype<Long>(0x7F)
0X80 checkType { check<Int>() }
checkSubtype<Int>(0X80)
checkSubtype<Short>(0X80)
checkSubtype<Long>(0X80)
-0X80 checkType { check<Int>() }
checkSubtype<Int>(-0X80)
checkSubtype<Short>(-0X80)
checkSubtype<Byte>(-0X80)
checkSubtype<Long>(-0X80)
-0x81 checkType { check<Int>() }
checkSubtype<Int>(-0x81)
checkSubtype<Short>(-0x81)
checkSubtype<Long>(-0x81)
}
// TESTCASE NUMBER: 3
fun case_3() {
0x7FFF checkType { check<Int>() }
checkSubtype<Int>(0x7FFF)
checkSubtype<Short>(0x7FFF)
checkSubtype<Long>(0x7FFF)
0x8000 checkType { check<Int>() }
checkSubtype<Int>(0x8000)
checkSubtype<Long>(0x8000)
-0x8000 checkType { check<Int>() }
checkSubtype<Int>(-0x8000)
checkSubtype<Short>(-0x8000)
checkSubtype<Long>(-0x8000)
-0X8001 checkType { check<Int>() }
checkSubtype<Int>(-0X8001)
checkSubtype<Long>(-0X8001)
}
// TESTCASE NUMBER: 4
fun case_4() {
0x7FFFFFFF checkType { check<Int>() }
checkSubtype<Int>(0x7FFFFFFF)
checkSubtype<Long>(0x7FFFFFFF)
0x80000000 checkType { check<Long>() }
checkSubtype<Long>(0x80000000)
-0x80000000 checkType { check<Int>() }
checkSubtype<Int>(-0x80000000)
checkSubtype<Long>(-0x80000000)
-0x80000001 checkType { check<Long>() }
checkSubtype<Long>(-0x80000001)
}
// TESTCASE NUMBER: 5
fun case_5() {
0X7FFFFFFFFFFFFFFF checkType { check<Long>() }
checkSubtype<Long>(0X7FFFFFFFFFFFFFFF)
-0X7FFFFFFFFFFFFFFF checkType { check<Long>() }
checkSubtype<Long>(-0X7FFFFFFFFFFFFFFF)
}
@@ -0,0 +1,92 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 4
* DESCRIPTION: Type checking of binary integer literals.
* HELPERS: checkType
*/
// TESTCASE NUMBER: 1
fun case_1() {
0b0 checkType { check<Int>() }
checkSubtype<Int>(0b0)
checkSubtype<Short>(0b0)
checkSubtype<Byte>(0b0)
checkSubtype<Long>(0b0)
}
// TESTCASE NUMBER: 2
fun case_2() {
0B1111111 checkType { check<Int>() }
checkSubtype<Int>(0B1111111)
checkSubtype<Short>(0B1111111)
checkSubtype<Byte>(0B1111111)
checkSubtype<Long>(0B1111111)
0b10000000 checkType { check<Int>() }
checkSubtype<Int>(0b10000000)
checkSubtype<Short>(0b10000000)
checkSubtype<Long>(0b10000000)
-0B10000000 checkType { check<Int>() }
checkSubtype<Int>(-0B10000000)
checkSubtype<Short>(-0B10000000)
checkSubtype<Byte>(-0B10000000)
checkSubtype<Long>(-0B10000000)
-0b10000001 checkType { check<Int>() }
checkSubtype<Int>(-0b10000001)
checkSubtype<Short>(-0b10000001)
checkSubtype<Long>(-0b10000001)
}
// TESTCASE NUMBER: 3
fun case_3() {
0B111111111111111 checkType { check<Int>() }
checkSubtype<Int>(0B111111111111111)
checkSubtype<Short>(0B111111111111111)
checkSubtype<Long>(0B111111111111111)
0b1000000000000000 checkType { check<Int>() }
checkSubtype<Int>(0b1000000000000000)
checkSubtype<Long>(0b1000000000000000)
-0b1000000000000000 checkType { check<Int>() }
checkSubtype<Int>(-0b1000000000000000)
checkSubtype<Short>(-0b1000000000000000)
checkSubtype<Long>(-0b1000000000000000)
-0B1000000000000001 checkType { check<Int>() }
checkSubtype<Int>(-0B1000000000000001)
checkSubtype<Long>(-0B1000000000000001)
}
// TESTCASE NUMBER: 4
fun case_4() {
0b1111111111111111111111111111111 checkType { check<Int>() }
checkSubtype<Int>(0b1111111111111111111111111111111)
checkSubtype<Long>(0b1111111111111111111111111111111)
0B10000000000000000000000000000000 checkType { check<Long>() }
checkSubtype<Long>(0B10000000000000000000000000000000)
-0B10000000000000000000000000000000 checkType { check<Int>() }
checkSubtype<Int>(-0B10000000000000000000000000000000)
checkSubtype<Long>(-0B10000000000000000000000000000000)
-0b10000000000000000000000000000001 checkType { check<Long>() }
checkSubtype<Long>(-0b10000000000000000000000000000001)
}
// TESTCASE NUMBER: 5
fun case_5() {
0b111111111111111111111111111111111111111111111111111111111111111 checkType { check<Long>() }
checkSubtype<Long>(0b111111111111111111111111111111111111111111111111111111111111111)
-0B111111111111111111111111111111111111111111111111111111111111111 checkType { check<Long>() }
checkSubtype<Long>(-0B111111111111111111111111111111111111111111111111111111111111111)
}
@@ -0,0 +1,62 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-draft
* PLACE: expressions, constant-literals, integer-literals, long-integer-literals -> paragraph 1 -> sentence 2
* NUMBER: 5
* DESCRIPTION: Check of integer type selection depends on the context.
* HELPERS: checkType
*/
// FILE: functions.kt
package functions
// TESTCASE NUMBER: 1
fun f1(x1: Byte, x2: Short, x3: Int, x4: Long) = x1 + x2 + x3 + x4
// TESTCASE NUMBER: 2
fun f2(x1: Short, x2: Int, x3: Long) = x1 + x2 + x3
// TESTCASE NUMBER: 3
fun f3(x1: Int, x2: Long) = x1 + x2
// TESTCASE NUMBER: 4
fun f4(x1: Long) = x1
// FILE: main.kt
import functions.*
// TESTCASE NUMBER: 1
fun case_1() {
f1(0, 0, 0, 0)
f1(127, 127, 127, 127)
f1(-128, -128, -128, -128)
}
// TESTCASE NUMBER: 2
fun case_2() {
f2(128, 128, 128)
f2(-129, -129, -129)
f2(32767, 32767, 32767)
f2(-32768, -32768, -32768)
}
// TESTCASE NUMBER: 3
fun case_3() {
f3(32768, 32768)
f3(-32769, -32769)
f3(2147483647, 2147483647)
f3(-2147483648, -2147483648)
}
// TESTCASE NUMBER: 4
fun case_4() {
f4(2147483648)
f4(-2147483649)
f4(9223372036854775807)
f4(-9223372036854775807)
}
@@ -0,0 +1,13 @@
/*
* This file is generated by {@link org.jetbrains.kotlin.spec.tasks.generateTests}. DO NOT MODIFY MANUALLY.
* This file is used in the HTML version of the Kotlin Specification (https://kotlin.github.io/kotlin-spec) to show tests coverage for sentences.
*
* Content format:
*
* {paragraphNumber}
* {testType: neg|pos}: {sentenceNumber}-{numberOfTests|testPathToAnotherSection}, ...
*/
1
neg: 2-5, 1-3
pos: 2-5