summaryrefslogtreecommitdiff
path: root/test/files/run/unittest_collection.scala
diff options
context:
space:
mode:
Diffstat (limited to 'test/files/run/unittest_collection.scala')
-rw-r--r--test/files/run/unittest_collection.scala103
1 files changed, 103 insertions, 0 deletions
diff --git a/test/files/run/unittest_collection.scala b/test/files/run/unittest_collection.scala
new file mode 100644
index 0000000000..5d7ab97425
--- /dev/null
+++ b/test/files/run/unittest_collection.scala
@@ -0,0 +1,103 @@
+
+object Test {
+
+ import scala.testing.SUnit._
+ import scala.collection.mutable.{ArrayBuffer, Buffer, BufferProxy, ListBuffer}
+
+ trait BufferTest extends Assert {
+ def doTest(x:Buffer[String]) = {
+ // testing method +=
+ x += "one"
+ assertEquals("retrieving 'one'", x(0), "one")
+ assertEquals("length A ", x.length, 1)
+ x += "two"
+ assertEquals("retrieving 'two'", x(1), "two")
+ assertEquals("length B ", x.length, 2)
+
+ // testing method -= (removing last element)
+ x -= "two"
+
+ assertEquals("length C ", x.length, 1)
+
+ try { x(1); fail("no exception for removed element") }
+ catch { case i:IndexOutOfBoundsException => }
+
+ try { x.remove(1); fail("no exception for removed element") }
+ catch { case i:IndexOutOfBoundsException => }
+
+ x += "two2"
+ assertEquals("length D ", x.length, 2)
+
+ // removing first element
+ x.remove(0)
+ assertEquals("length E ", x.length, 1)
+
+ // toList
+ assertEquals("toList ", x.toList, List("two2"))
+
+ // clear
+ x.clear
+ assertEquals("length F ", x.length, 0)
+
+ // copyToBuffer
+ x += "a"
+ x += "b"
+ val dest = new ArrayBuffer[String]
+ x copyToBuffer dest
+ assertEquals("dest", List("a", "b"), dest.toList)
+ assertEquals("source", List("a", "b"), x.toList)
+ }
+ }
+
+ class TArrayBuffer extends TestCase("collection.mutable.ArrayBuffer") with Assert with BufferTest {
+
+ var x: ArrayBuffer[String] = _
+
+ override def runTest = { setUp; doTest(x); tearDown }
+
+ override def setUp = { x = new scala.collection.mutable.ArrayBuffer }
+
+ override def tearDown = { x.clear; x = null }
+ }
+
+ class TListBuffer extends TestCase("collection.mutable.ListBuffer") with Assert with BufferTest {
+
+ var x: ListBuffer[String] = _
+
+ override def runTest = { setUp; doTest(x); tearDown }
+
+ override def setUp = { x = new scala.collection.mutable.ListBuffer }
+
+ override def tearDown = { x.clear; x = null }
+
+ }
+
+ class TBufferProxy extends TestCase("collection.mutable.BufferProxy") with Assert with BufferTest {
+
+ class BBuf(z:ListBuffer[String]) extends BufferProxy[String] {
+ def self = z
+ }
+
+ var x: BufferProxy[String] = _
+
+ override def runTest = { setUp; doTest(x); tearDown }
+
+ override def setUp = { x = new BBuf(new scala.collection.mutable.ListBuffer) }
+
+ override def tearDown = { x.clear; x = null }
+
+ }
+
+ def main(args:Array[String]) = {
+ val ts = new TestSuite(
+ //new TArrayBuffer,
+ new TListBuffer//,
+ //new TBufferProxy
+ )
+ val tr = new TestResult()
+ ts.run(tr)
+ for(val failure <- tr.failures) {
+ Console.println(failure)
+ }
+ }
+}