unittest_collection.scala

来自「JAVA 语言的函数式编程扩展」· SCALA 代码 · 共 96 行

SCALA
96
字号
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)    }  }  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)    }  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?