summaryrefslogtreecommitdiff
path: root/test/junit/scala/collection/mutable/ArrayBuilderTest.scala
blob: b7190ee5d5baee8d79abdc0ddd2fe407b062ef40 (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
package scala.collection.mutable

import org.junit.runner.RunWith
import org.junit.runners.JUnit4
import org.junit.Test
import scala.collection.mutable

@RunWith(classOf[JUnit4])
class ArrayBuilderTest {
  @Test
  def reusable() {
    val builder = new ArrayBuilder.ofInt
    val vector = Vector.range(1, 17)
    val expected = Vector.range(1, 17).toArray

    builder ++= vector
    val actual = builder.result()
    assert ( actual.deep == expected.deep )

    builder.clear()
    val expected2 = Array[Int](100)
    builder += 100

    // Previously created array MUST be immutable even after `result`, `clear` and some operation are called
    assert( actual.deep == expected.deep )
    assert( builder.result().deep == expected2.deep )
  }
}