Skip to content

Commit 2fdb667

Browse files
committed
Add regression tests for Tuple.{head|tail}
1 parent 7b0b819 commit 2fdb667

File tree

3 files changed

+153
-0
lines changed

3 files changed

+153
-0
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
import scala.reflect.ClassTag
2+
3+
object Test {
4+
def main(args: Array[String]): Unit = {
5+
6+
assert(1 == Tuple1(1).head)
7+
assert(1 == (1, 2).head)
8+
assert(1 == (1, 2, 3).head)
9+
assert(1 == (1, 2, 3, 4).head)
10+
assert(1 == (1, 2, 3, 4, 5).head)
11+
assert(1 == (1, 2, 3, 4, 5, 6).head)
12+
assert(1 == (1, 2, 3, 4, 5, 6, 7).head)
13+
assert(1 == (1, 2, 3, 4, 5, 6, 7, 8).head)
14+
assert(1 == (1, 2, 3, 4, 5, 6, 7, 8, 9).head)
15+
assert(1 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10).head)
16+
assert(1 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).head)
17+
assert(1 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).head)
18+
assert(1 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).head)
19+
assert(1 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).head)
20+
assert(1 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).head)
21+
assert(1 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).head)
22+
assert(1 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17).head)
23+
assert(1 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18).head)
24+
assert(1 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19).head)
25+
assert(1 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20).head)
26+
assert(1 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21).head)
27+
assert(1 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22).head)
28+
assert(1 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23).head)
29+
assert(1 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24).head)
30+
assert(1 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25).head)
31+
32+
assert(1 == (1 *: ()).head)
33+
assert(1 == (1 *: 2 *: ()).head)
34+
assert(1 == (1 *: 2 *: 3 *: ()).head)
35+
assert(1 == (1 *: 2 *: 3 *: 4 *: ()).head)
36+
assert(1 == (1 *: 2 *: 3 *: 4 *: 5 *: ()).head)
37+
assert(1 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: ()).head)
38+
assert(1 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: ()).head)
39+
assert(1 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: ()).head)
40+
assert(1 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: ()).head)
41+
assert(1 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: ()).head)
42+
// FIXME performace
43+
// assert(1 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: ()).head)
44+
// assert(1 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: ()).head)
45+
// assert(1 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: ()).head)
46+
// assert(1 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: ()).head)
47+
// assert(1 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: ()).head)
48+
// assert(1 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: ()).head)
49+
// assert(1 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: ()).head)
50+
// assert(1 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: 18 *: ()).head)
51+
// assert(1 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: 18 *: 19 *: ()).head)
52+
// assert(1 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: 18 *: 19 *: 20 *: ()).head)
53+
// assert(1 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: 18 *: 19 *: 20 *: 21 *: ()).head)
54+
// assert(1 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: 18 *: 19 *: 20 *: 21 *: 22 *: ()).head)
55+
// assert(1 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: 18 *: 19 *: 20 *: 21 *: 22 *: 23 *: ()).head)
56+
// assert(1 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: 18 *: 19 *: 20 *: 21 *: 22 *: 23 *: 24 *: ()).head)
57+
// assert(1 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: 18 *: 19 *: 20 *: 21 *: 22 *: 23 *: 24 *: 25 *: ()).head)
58+
}
59+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
()
2+
(2)
3+
(2,3)
4+
(2,3,4)
5+
(2,3,4,5)
6+
(2,3,4,5,6)
7+
(2,3,4,5,6,7)
8+
(2,3,4,5,6,7,8)
9+
(2,3,4,5,6,7,8,9)
10+
(2,3,4,5,6,7,8,9,10)
11+
(2,3,4,5,6,7,8,9,10,11)
12+
(2,3,4,5,6,7,8,9,10,11,12)
13+
(2,3,4,5,6,7,8,9,10,11,12,13)
14+
(2,3,4,5,6,7,8,9,10,11,12,13,14)
15+
(2,3,4,5,6,7,8,9,10,11,12,13,14,15)
16+
(2,3,4,5,6,7,8,9,10,11,12,13,14,15,16)
17+
(2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17)
18+
(2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18)
19+
(2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19)
20+
(2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
21+
(2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21)
22+
(2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22)
23+
(2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23)
24+
(2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24)
25+
(2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25)
26+
()
27+
(2)
28+
(2,3)
29+
(2,3,4)
30+
(2,3,4,5)
31+
(2,3,4,5,6)
32+
(2,3,4,5,6,7)
33+
(2,3,4,5,6,7,8)
34+
(2,3,4,5,6,7,8,9)
35+
(2,3,4,5,6,7,8,9,10)
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
import scala.reflect.ClassTag
2+
3+
object Test {
4+
def main(args: Array[String]): Unit = {
5+
6+
println(Tuple1(1).tail)
7+
println((1, 2).tail)
8+
println((1, 2, 3).tail)
9+
println((1, 2, 3, 4).tail)
10+
println((1, 2, 3, 4, 5).tail)
11+
println((1, 2, 3, 4, 5, 6).tail)
12+
println((1, 2, 3, 4, 5, 6, 7).tail)
13+
println((1, 2, 3, 4, 5, 6, 7, 8).tail)
14+
println((1, 2, 3, 4, 5, 6, 7, 8, 9).tail)
15+
println((1, 2, 3, 4, 5, 6, 7, 8, 9, 10).tail)
16+
println((1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).tail)
17+
println((1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).tail)
18+
println((1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).tail)
19+
println((1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).tail)
20+
println((1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).tail)
21+
println((1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).tail)
22+
println((1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17).tail)
23+
println((1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18).tail)
24+
println((1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19).tail)
25+
println((1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20).tail)
26+
println((1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21).tail)
27+
println((1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22).tail)
28+
println((1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23).tail)
29+
println((1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24).tail)
30+
println((1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25).tail)
31+
32+
println((1 *: ()).tail)
33+
println((1 *: 2 *: ()).tail)
34+
println((1 *: 2 *: 3 *: ()).tail)
35+
println((1 *: 2 *: 3 *: 4 *: ()).tail)
36+
println((1 *: 2 *: 3 *: 4 *: 5 *: ()).tail)
37+
println((1 *: 2 *: 3 *: 4 *: 5 *: 6 *: ()).tail)
38+
println((1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: ()).tail)
39+
println((1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: ()).tail)
40+
println((1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: ()).tail)
41+
println((1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: ()).tail)
42+
// FIXME performace
43+
// println((1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: ()).tail)
44+
// println((1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: ()).tail)
45+
// println((1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: ()).tail)
46+
// println((1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: ()).tail)
47+
// println((1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: ()).tail)
48+
// println((1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: ()).tail)
49+
// println((1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: ()).tail)
50+
// println((1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: 18 *: ()).tail)
51+
// println((1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: 18 *: 19 *: ()).tail)
52+
// println((1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: 18 *: 19 *: 20 *: ()).tail)
53+
// println((1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: 18 *: 19 *: 20 *: 21 *: ()).tail)
54+
// println((1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: 18 *: 19 *: 20 *: 21 *: 22 *: ()).tail)
55+
// println((1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: 18 *: 19 *: 20 *: 21 *: 22 *: 23 *: ()).tail)
56+
// println((1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: 18 *: 19 *: 20 *: 21 *: 22 *: 23 *: 24 *: ()).tail)
57+
// println((1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: 18 *: 19 *: 20 *: 21 *: 22 *: 23 *: 24 *: 25 *: ()).tail)
58+
}
59+
}

0 commit comments

Comments
 (0)