summaryrefslogtreecommitdiff
path: root/test/junit/scala/runtime/ScalaRunTimeTest.scala
blob: 9da197c71ace69cf977919485311be311a9b42d8 (plain) (blame)
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package scala.runtime

import org.junit.Assert._
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4

/** Tests for the private class DefaultPromise */
@RunWith(classOf[JUnit4])
class ScalaRunTimeTest {
  @Test
  def testIsTuple() {
    import ScalaRunTime.isTuple
    def check(v: Any) = {
      assertTrue(v.toString, isTuple(v))
    }

    val s = ""
    check(Tuple1(s))
    check((s, s))
    check((s, s, s))
    check((s, s, s, s))
    check((s, s, s, s, s))
    check((s, s, s, s, s, s))
    check((s, s, s, s, s, s, s))
    check((s, s, s, s, s, s, s, s))
    check((s, s, s, s, s, s, s, s, s))
    check((s, s, s, s, s, s, s, s, s, s))
    check((s, s, s, s, s, s, s, s, s, s, s))
    check((s, s, s, s, s, s, s, s, s, s, s, s))
    check((s, s, s, s, s, s, s, s, s, s, s, s, s))
    check((s, s, s, s, s, s, s, s, s, s, s, s, s, s))
    check((s, s, s, s, s, s, s, s, s, s, s, s, s, s, s))
    check((s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s))
    check((s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s))
    check((s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s))
    check((s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s))
    check((s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s))
    check((s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s))
    check((s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s))

    // some specialized variants will have mangled classnames
    check(Tuple1(0))
    check((0, 0))
    check((0, 0, 0))
    check((0, 0, 0, 0))
    check((0, 0, 0, 0, 0))
    check((0, 0, 0, 0, 0, 0))
    check((0, 0, 0, 0, 0, 0, 0))
    check((0, 0, 0, 0, 0, 0, 0, 0))
    check((0, 0, 0, 0, 0, 0, 0, 0, 0))
    check((0, 0, 0, 0, 0, 0, 0, 0, 0, 0))
    check((0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))
    check((0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))
    check((0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))
    check((0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))
    check((0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))
    check((0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))
    check((0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))
    check((0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))
    check((0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))
    check((0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))
    check((0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))
    check((0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))

    case class C()
    val c = new C()
    assertFalse(c.toString, isTuple(c))
  }
}