Add more tests for 'contains' in ranges #KT-52933

- ranges produced by 'rangeUntil' operator
- ranges of unsigned values
- more elements in ranges produced by `downTo`
This commit is contained in:
Ilya Gorbunov
2022-08-02 22:02:37 +02:00
committed by Space
parent a044555299
commit f91ea4b4d9
41 changed files with 7197 additions and 3009 deletions
@@ -3,8 +3,8 @@
val range0 = '3' downTo '1'
val range1 = '1' downTo '3'
val range0 = '1' downTo '3'
val range1 = '3' downTo '1'
val element0 = '0'
val element1 = '1'
@@ -28,132 +28,132 @@ fun box(): String {
fun testR0xE0() {
// with possible local optimizations
if ('0' in '3' downTo '1' != range0.contains('0')) throw AssertionError()
if ('0' !in '3' downTo '1' != !range0.contains('0')) throw AssertionError()
if (!('0' in '3' downTo '1') != !range0.contains('0')) throw AssertionError()
if (!('0' !in '3' downTo '1') != range0.contains('0')) throw AssertionError()
if ('0' in '1' downTo '3' != range0.contains('0')) throw AssertionError()
if ('0' !in '1' downTo '3' != !range0.contains('0')) throw AssertionError()
if (!('0' in '1' downTo '3') != !range0.contains('0')) throw AssertionError()
if (!('0' !in '1' downTo '3') != range0.contains('0')) throw AssertionError()
// no local optimizations
if (element0 in '3' downTo '1' != range0.contains(element0)) throw AssertionError()
if (element0 !in '3' downTo '1' != !range0.contains(element0)) throw AssertionError()
if (!(element0 in '3' downTo '1') != !range0.contains(element0)) throw AssertionError()
if (!(element0 !in '3' downTo '1') != range0.contains(element0)) throw AssertionError()
if (element0 in '1' downTo '3' != range0.contains(element0)) throw AssertionError()
if (element0 !in '1' downTo '3' != !range0.contains(element0)) throw AssertionError()
if (!(element0 in '1' downTo '3') != !range0.contains(element0)) throw AssertionError()
if (!(element0 !in '1' downTo '3') != range0.contains(element0)) throw AssertionError()
}
fun testR0xE1() {
// with possible local optimizations
if ('1' in '3' downTo '1' != range0.contains('1')) throw AssertionError()
if ('1' !in '3' downTo '1' != !range0.contains('1')) throw AssertionError()
if (!('1' in '3' downTo '1') != !range0.contains('1')) throw AssertionError()
if (!('1' !in '3' downTo '1') != range0.contains('1')) throw AssertionError()
if ('1' in '1' downTo '3' != range0.contains('1')) throw AssertionError()
if ('1' !in '1' downTo '3' != !range0.contains('1')) throw AssertionError()
if (!('1' in '1' downTo '3') != !range0.contains('1')) throw AssertionError()
if (!('1' !in '1' downTo '3') != range0.contains('1')) throw AssertionError()
// no local optimizations
if (element1 in '3' downTo '1' != range0.contains(element1)) throw AssertionError()
if (element1 !in '3' downTo '1' != !range0.contains(element1)) throw AssertionError()
if (!(element1 in '3' downTo '1') != !range0.contains(element1)) throw AssertionError()
if (!(element1 !in '3' downTo '1') != range0.contains(element1)) throw AssertionError()
if (element1 in '1' downTo '3' != range0.contains(element1)) throw AssertionError()
if (element1 !in '1' downTo '3' != !range0.contains(element1)) throw AssertionError()
if (!(element1 in '1' downTo '3') != !range0.contains(element1)) throw AssertionError()
if (!(element1 !in '1' downTo '3') != range0.contains(element1)) throw AssertionError()
}
fun testR0xE2() {
// with possible local optimizations
if ('2' in '3' downTo '1' != range0.contains('2')) throw AssertionError()
if ('2' !in '3' downTo '1' != !range0.contains('2')) throw AssertionError()
if (!('2' in '3' downTo '1') != !range0.contains('2')) throw AssertionError()
if (!('2' !in '3' downTo '1') != range0.contains('2')) throw AssertionError()
if ('2' in '1' downTo '3' != range0.contains('2')) throw AssertionError()
if ('2' !in '1' downTo '3' != !range0.contains('2')) throw AssertionError()
if (!('2' in '1' downTo '3') != !range0.contains('2')) throw AssertionError()
if (!('2' !in '1' downTo '3') != range0.contains('2')) throw AssertionError()
// no local optimizations
if (element2 in '3' downTo '1' != range0.contains(element2)) throw AssertionError()
if (element2 !in '3' downTo '1' != !range0.contains(element2)) throw AssertionError()
if (!(element2 in '3' downTo '1') != !range0.contains(element2)) throw AssertionError()
if (!(element2 !in '3' downTo '1') != range0.contains(element2)) throw AssertionError()
if (element2 in '1' downTo '3' != range0.contains(element2)) throw AssertionError()
if (element2 !in '1' downTo '3' != !range0.contains(element2)) throw AssertionError()
if (!(element2 in '1' downTo '3') != !range0.contains(element2)) throw AssertionError()
if (!(element2 !in '1' downTo '3') != range0.contains(element2)) throw AssertionError()
}
fun testR0xE3() {
// with possible local optimizations
if ('3' in '3' downTo '1' != range0.contains('3')) throw AssertionError()
if ('3' !in '3' downTo '1' != !range0.contains('3')) throw AssertionError()
if (!('3' in '3' downTo '1') != !range0.contains('3')) throw AssertionError()
if (!('3' !in '3' downTo '1') != range0.contains('3')) throw AssertionError()
if ('3' in '1' downTo '3' != range0.contains('3')) throw AssertionError()
if ('3' !in '1' downTo '3' != !range0.contains('3')) throw AssertionError()
if (!('3' in '1' downTo '3') != !range0.contains('3')) throw AssertionError()
if (!('3' !in '1' downTo '3') != range0.contains('3')) throw AssertionError()
// no local optimizations
if (element3 in '3' downTo '1' != range0.contains(element3)) throw AssertionError()
if (element3 !in '3' downTo '1' != !range0.contains(element3)) throw AssertionError()
if (!(element3 in '3' downTo '1') != !range0.contains(element3)) throw AssertionError()
if (!(element3 !in '3' downTo '1') != range0.contains(element3)) throw AssertionError()
if (element3 in '1' downTo '3' != range0.contains(element3)) throw AssertionError()
if (element3 !in '1' downTo '3' != !range0.contains(element3)) throw AssertionError()
if (!(element3 in '1' downTo '3') != !range0.contains(element3)) throw AssertionError()
if (!(element3 !in '1' downTo '3') != range0.contains(element3)) throw AssertionError()
}
fun testR0xE4() {
// with possible local optimizations
if ('4' in '3' downTo '1' != range0.contains('4')) throw AssertionError()
if ('4' !in '3' downTo '1' != !range0.contains('4')) throw AssertionError()
if (!('4' in '3' downTo '1') != !range0.contains('4')) throw AssertionError()
if (!('4' !in '3' downTo '1') != range0.contains('4')) throw AssertionError()
if ('4' in '1' downTo '3' != range0.contains('4')) throw AssertionError()
if ('4' !in '1' downTo '3' != !range0.contains('4')) throw AssertionError()
if (!('4' in '1' downTo '3') != !range0.contains('4')) throw AssertionError()
if (!('4' !in '1' downTo '3') != range0.contains('4')) throw AssertionError()
// no local optimizations
if (element4 in '3' downTo '1' != range0.contains(element4)) throw AssertionError()
if (element4 !in '3' downTo '1' != !range0.contains(element4)) throw AssertionError()
if (!(element4 in '3' downTo '1') != !range0.contains(element4)) throw AssertionError()
if (!(element4 !in '3' downTo '1') != range0.contains(element4)) throw AssertionError()
if (element4 in '1' downTo '3' != range0.contains(element4)) throw AssertionError()
if (element4 !in '1' downTo '3' != !range0.contains(element4)) throw AssertionError()
if (!(element4 in '1' downTo '3') != !range0.contains(element4)) throw AssertionError()
if (!(element4 !in '1' downTo '3') != range0.contains(element4)) throw AssertionError()
}
fun testR1xE0() {
// with possible local optimizations
if ('0' in '1' downTo '3' != range1.contains('0')) throw AssertionError()
if ('0' !in '1' downTo '3' != !range1.contains('0')) throw AssertionError()
if (!('0' in '1' downTo '3') != !range1.contains('0')) throw AssertionError()
if (!('0' !in '1' downTo '3') != range1.contains('0')) throw AssertionError()
if ('0' in '3' downTo '1' != range1.contains('0')) throw AssertionError()
if ('0' !in '3' downTo '1' != !range1.contains('0')) throw AssertionError()
if (!('0' in '3' downTo '1') != !range1.contains('0')) throw AssertionError()
if (!('0' !in '3' downTo '1') != range1.contains('0')) throw AssertionError()
// no local optimizations
if (element0 in '1' downTo '3' != range1.contains(element0)) throw AssertionError()
if (element0 !in '1' downTo '3' != !range1.contains(element0)) throw AssertionError()
if (!(element0 in '1' downTo '3') != !range1.contains(element0)) throw AssertionError()
if (!(element0 !in '1' downTo '3') != range1.contains(element0)) throw AssertionError()
if (element0 in '3' downTo '1' != range1.contains(element0)) throw AssertionError()
if (element0 !in '3' downTo '1' != !range1.contains(element0)) throw AssertionError()
if (!(element0 in '3' downTo '1') != !range1.contains(element0)) throw AssertionError()
if (!(element0 !in '3' downTo '1') != range1.contains(element0)) throw AssertionError()
}
fun testR1xE1() {
// with possible local optimizations
if ('1' in '1' downTo '3' != range1.contains('1')) throw AssertionError()
if ('1' !in '1' downTo '3' != !range1.contains('1')) throw AssertionError()
if (!('1' in '1' downTo '3') != !range1.contains('1')) throw AssertionError()
if (!('1' !in '1' downTo '3') != range1.contains('1')) throw AssertionError()
if ('1' in '3' downTo '1' != range1.contains('1')) throw AssertionError()
if ('1' !in '3' downTo '1' != !range1.contains('1')) throw AssertionError()
if (!('1' in '3' downTo '1') != !range1.contains('1')) throw AssertionError()
if (!('1' !in '3' downTo '1') != range1.contains('1')) throw AssertionError()
// no local optimizations
if (element1 in '1' downTo '3' != range1.contains(element1)) throw AssertionError()
if (element1 !in '1' downTo '3' != !range1.contains(element1)) throw AssertionError()
if (!(element1 in '1' downTo '3') != !range1.contains(element1)) throw AssertionError()
if (!(element1 !in '1' downTo '3') != range1.contains(element1)) throw AssertionError()
if (element1 in '3' downTo '1' != range1.contains(element1)) throw AssertionError()
if (element1 !in '3' downTo '1' != !range1.contains(element1)) throw AssertionError()
if (!(element1 in '3' downTo '1') != !range1.contains(element1)) throw AssertionError()
if (!(element1 !in '3' downTo '1') != range1.contains(element1)) throw AssertionError()
}
fun testR1xE2() {
// with possible local optimizations
if ('2' in '1' downTo '3' != range1.contains('2')) throw AssertionError()
if ('2' !in '1' downTo '3' != !range1.contains('2')) throw AssertionError()
if (!('2' in '1' downTo '3') != !range1.contains('2')) throw AssertionError()
if (!('2' !in '1' downTo '3') != range1.contains('2')) throw AssertionError()
if ('2' in '3' downTo '1' != range1.contains('2')) throw AssertionError()
if ('2' !in '3' downTo '1' != !range1.contains('2')) throw AssertionError()
if (!('2' in '3' downTo '1') != !range1.contains('2')) throw AssertionError()
if (!('2' !in '3' downTo '1') != range1.contains('2')) throw AssertionError()
// no local optimizations
if (element2 in '1' downTo '3' != range1.contains(element2)) throw AssertionError()
if (element2 !in '1' downTo '3' != !range1.contains(element2)) throw AssertionError()
if (!(element2 in '1' downTo '3') != !range1.contains(element2)) throw AssertionError()
if (!(element2 !in '1' downTo '3') != range1.contains(element2)) throw AssertionError()
if (element2 in '3' downTo '1' != range1.contains(element2)) throw AssertionError()
if (element2 !in '3' downTo '1' != !range1.contains(element2)) throw AssertionError()
if (!(element2 in '3' downTo '1') != !range1.contains(element2)) throw AssertionError()
if (!(element2 !in '3' downTo '1') != range1.contains(element2)) throw AssertionError()
}
fun testR1xE3() {
// with possible local optimizations
if ('3' in '1' downTo '3' != range1.contains('3')) throw AssertionError()
if ('3' !in '1' downTo '3' != !range1.contains('3')) throw AssertionError()
if (!('3' in '1' downTo '3') != !range1.contains('3')) throw AssertionError()
if (!('3' !in '1' downTo '3') != range1.contains('3')) throw AssertionError()
if ('3' in '3' downTo '1' != range1.contains('3')) throw AssertionError()
if ('3' !in '3' downTo '1' != !range1.contains('3')) throw AssertionError()
if (!('3' in '3' downTo '1') != !range1.contains('3')) throw AssertionError()
if (!('3' !in '3' downTo '1') != range1.contains('3')) throw AssertionError()
// no local optimizations
if (element3 in '1' downTo '3' != range1.contains(element3)) throw AssertionError()
if (element3 !in '1' downTo '3' != !range1.contains(element3)) throw AssertionError()
if (!(element3 in '1' downTo '3') != !range1.contains(element3)) throw AssertionError()
if (!(element3 !in '1' downTo '3') != range1.contains(element3)) throw AssertionError()
if (element3 in '3' downTo '1' != range1.contains(element3)) throw AssertionError()
if (element3 !in '3' downTo '1' != !range1.contains(element3)) throw AssertionError()
if (!(element3 in '3' downTo '1') != !range1.contains(element3)) throw AssertionError()
if (!(element3 !in '3' downTo '1') != range1.contains(element3)) throw AssertionError()
}
fun testR1xE4() {
// with possible local optimizations
if ('4' in '1' downTo '3' != range1.contains('4')) throw AssertionError()
if ('4' !in '1' downTo '3' != !range1.contains('4')) throw AssertionError()
if (!('4' in '1' downTo '3') != !range1.contains('4')) throw AssertionError()
if (!('4' !in '1' downTo '3') != range1.contains('4')) throw AssertionError()
if ('4' in '3' downTo '1' != range1.contains('4')) throw AssertionError()
if ('4' !in '3' downTo '1' != !range1.contains('4')) throw AssertionError()
if (!('4' in '3' downTo '1') != !range1.contains('4')) throw AssertionError()
if (!('4' !in '3' downTo '1') != range1.contains('4')) throw AssertionError()
// no local optimizations
if (element4 in '1' downTo '3' != range1.contains(element4)) throw AssertionError()
if (element4 !in '1' downTo '3' != !range1.contains(element4)) throw AssertionError()
if (!(element4 in '1' downTo '3') != !range1.contains(element4)) throw AssertionError()
if (!(element4 !in '1' downTo '3') != range1.contains(element4)) throw AssertionError()
if (element4 in '3' downTo '1' != range1.contains(element4)) throw AssertionError()
if (element4 !in '3' downTo '1' != !range1.contains(element4)) throw AssertionError()
if (!(element4 in '3' downTo '1') != !range1.contains(element4)) throw AssertionError()
if (!(element4 !in '3' downTo '1') != range1.contains(element4)) throw AssertionError()
}