|
| 1 | +import scala.reflect.ClassTag |
| 2 | + |
| 3 | +object Test { |
| 4 | + def main(args: Array[String]): Unit = { |
| 5 | + |
| 6 | + def testArray[T: ClassTag](n: Int, elem: Int => T): Unit = { |
| 7 | + val t: Tuple = Tuple.fromArray(Array.tabulate(n)(elem)) |
| 8 | + assert(n == t.size) |
| 9 | + } |
| 10 | + |
| 11 | + for (i <- 0 to 25) |
| 12 | + testArray(i, j => j) |
| 13 | + |
| 14 | + assert(1 == Tuple1(1).size) |
| 15 | + assert(2 == (1, 2).size) |
| 16 | + assert(3 == (1, 2, 3).size) |
| 17 | + assert(4 == (1, 2, 3, 4).size) |
| 18 | + assert(5 == (1, 2, 3, 4, 5).size) |
| 19 | + assert(6 == (1, 2, 3, 4, 5, 6).size) |
| 20 | + assert(7 == (1, 2, 3, 4, 5, 6, 7).size) |
| 21 | + assert(8 == (1, 2, 3, 4, 5, 6, 7, 8).size) |
| 22 | + assert(9 == (1, 2, 3, 4, 5, 6, 7, 8, 9).size) |
| 23 | + assert(10 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10).size) |
| 24 | + assert(11 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11).size) |
| 25 | + assert(12 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).size) |
| 26 | + assert(13 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13).size) |
| 27 | + assert(14 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14).size) |
| 28 | + assert(15 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15).size) |
| 29 | + assert(16 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16).size) |
| 30 | + assert(17 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17).size) |
| 31 | + assert(18 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18).size) |
| 32 | + assert(19 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19).size) |
| 33 | + assert(20 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20).size) |
| 34 | + assert(21 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21).size) |
| 35 | + assert(22 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22).size) |
| 36 | + assert(23 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23).size) |
| 37 | + assert(24 == (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24).size) |
| 38 | + assert(25 == (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).size) |
| 39 | + |
| 40 | + assert(1 == (1 *: ()).size) |
| 41 | + assert(2 == (1 *: 2 *: ()).size) |
| 42 | + assert(3 == (1 *: 2 *: 3 *: ()).size) |
| 43 | + assert(4 == (1 *: 2 *: 3 *: 4 *: ()).size) |
| 44 | + assert(5 == (1 *: 2 *: 3 *: 4 *: 5 *: ()).size) |
| 45 | + assert(6 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: ()).size) |
| 46 | + assert(7 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: ()).size) |
| 47 | + assert(8 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: ()).size) |
| 48 | + assert(9 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: ()).size) |
| 49 | + assert(10 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: ()).size) |
| 50 | + // FIXME performace |
| 51 | +// assert(11 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: ()).size) |
| 52 | +// assert(12 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: ()).size) |
| 53 | +// assert(13 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: ()).size) |
| 54 | +// assert(14 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: ()).size) |
| 55 | +// assert(15 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: ()).size) |
| 56 | +// assert(16 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: ()).size) |
| 57 | +// assert(17 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: ()).size) |
| 58 | +// assert(18 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: 18 *: ()).size) |
| 59 | +// assert(19 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: 18 *: 19 *: ()).size) |
| 60 | +// assert(20 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: 18 *: 19 *: 20 *: ()).size) |
| 61 | +// assert(21 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: 18 *: 19 *: 20 *: 21 *: ()).size) |
| 62 | +// assert(22 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: 18 *: 19 *: 20 *: 21 *: 22 *: ()).size) |
| 63 | +// assert(23 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: 18 *: 19 *: 20 *: 21 *: 22 *: 23 *: ()).size) |
| 64 | +// assert(24 == (1 *: 2 *: 3 *: 4 *: 5 *: 6 *: 7 *: 8 *: 9 *: 10 *: 11 *: 12 *: 13 *: 14 *: 15 *: 16 *: 17 *: 18 *: 19 *: 20 *: 21 *: 22 *: 23 *: 24 *: ()).size) |
| 65 | +// assert(25 == (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 *: ()).size) |
| 66 | + } |
| 67 | +} |
0 commit comments