diff options
author | paltherr <paltherr@epfl.ch> | 2003-05-22 07:57:24 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2003-05-22 07:57:24 +0000 |
commit | 60fe35a72b93bd65950f471196a1ba02a3937b2a (patch) | |
tree | 37020ce1f17f105afd21c5e82488a510be3c9728 | |
parent | edce97ab20863eaf498de833f7b3335af1de9a95 (diff) | |
download | scala-60fe35a72b93bd65950f471196a1ba02a3937b2a.tar.gz scala-60fe35a72b93bd65950f471196a1ba02a3937b2a.tar.bz2 scala-60fe35a72b93bd65950f471196a1ba02a3937b2a.zip |
- Added arrays.scala
-rw-r--r-- | config/list/test-run.lst | 1 | ||||
-rw-r--r-- | test/files/run/arrays.check | 50 | ||||
-rw-r--r-- | test/files/run/arrays.scala | 156 |
3 files changed, 207 insertions, 0 deletions
diff --git a/config/list/test-run.lst b/config/list/test-run.lst index ccd2c929c9..131e566050 100644 --- a/config/list/test-run.lst +++ b/config/list/test-run.lst @@ -15,6 +15,7 @@ files/run/Course-2002-09.scala files/run/Course-2002-10.scala files/run/Course-2002-11.scala files/run/Course-2002-13.scala +files/run/arrays.scala files/run/imports.scala files/run/misc.scala files/run/queens.scala diff --git a/test/files/run/arrays.check b/test/files/run/arrays.check new file mode 100644 index 0000000000..b6c77c3db2 --- /dev/null +++ b/test/files/run/arrays.check @@ -0,0 +1,50 @@ +ok: zarray.length = 2 +ok: barray.length = 2 +ok: sarray.length = 2 +ok: carray.length = 2 +ok: iarray.length = 2 +ok: larray.length = 2 +ok: farray.length = 2 +ok: darray.length = 2 +ok: rarray.length = 2 + +ok: zarray(0) = false +ok: barray(0) = 0 +ok: sarray(0) = 0 +ok: carray(0) = \u0000 +ok: iarray(0) = 0 +ok: larray(0) = 0 +ok: farray(0) = 0.0 +ok: darray(0) = 0.0 +ok: rarray(0) = null + +ok: zarray(1) = false +ok: barray(1) = 0 +ok: sarray(1) = 0 +ok: carray(1) = \u0000 +ok: iarray(1) = 0 +ok: larray(1) = 0 +ok: farray(1) = 0.0 +ok: darray(1) = 0.0 +ok: rarray(1) = null + +ok: zarray(0) = false +ok: barray(0) = 1 +ok: sarray(0) = 2 +ok: carray(0) = 3 +ok: iarray(0) = 4 +ok: larray(0) = 5 +ok: farray(0) = 6.0 +ok: darray(0) = 7.0 +ok: rarray(0) = 8 + +ok: zarray(1) = true +ok: barray(1) = 2 +ok: sarray(1) = 3 +ok: carray(1) = 4 +ok: iarray(1) = 5 +ok: larray(1) = 6 +ok: farray(1) = 7.0 +ok: darray(1) = 8.0 +ok: rarray(1) = 9 + diff --git a/test/files/run/arrays.scala b/test/files/run/arrays.scala new file mode 100644 index 0000000000..605c3c2c4e --- /dev/null +++ b/test/files/run/arrays.scala @@ -0,0 +1,156 @@ +//############################################################################ +// Arrays +//############################################################################ +// $Id$ + +//############################################################################ + +module arrays { + + type JObject = java.lang.Object; + type JSet = java.util.Set; + + def check(what: String, actual: Any, expected: Any): Unit = { + val success: Boolean = actual == expected; + System.out.print(if (success) "ok" else "KO"); + var value: String = if (actual == null) "null" else actual.toString(); + if (value == "\u0000") value = "\\u0000"; + System.out.print(": " + what + " = " + value); + if (!success) System.out.print(" != " + expected); + System.out.println(); + System.out.flush(); + } + + def check1(name: String, array: Array[Any], i: Int, exp: Any): Unit = { + check (name+"("+i+")", array(i), exp); + } + + def check2(name: String, array: Array[AnyVal], i: Int, exp: AnyVal): Unit = { + check (name+"("+i+")", array(i), exp); + } + + def check3(name: String, array: Array[AnyRef], i: Int, exp: AnyRef): Unit = { + check (name+"("+i+")", array(i), exp); + } + + def check4(name: String, array: Array[Object], i: Int, exp: Object): Unit = { + check (name+"("+i+")", array(i), exp); + } + + def check5(name: String, array: Array[JObject], i: Int, exp: JObject): Unit={ + check (name+"("+i+")", array(i), exp); + } + + def check6(name: String, array: Array[Double], i: Int, exp: Double): Unit = { + check (name+"("+i+")", array(i), exp); + } + + def test: Unit = { + val zarray: Array[Boolean] = new Array[Boolean](2); + val barray: Array[Byte] = new Array[Byte](2); + val sarray: Array[Short] = new Array[Short](2); + val carray: Array[Char] = new Array[Char](2); + val iarray: Array[Int] = new Array[Int](2); + val larray: Array[Long] = new Array[Long](2); + val farray: Array[Float] = new Array[Float](2); + val darray: Array[Double] = new Array[Double](2); + // !!! test Array[Any] + // !!! test Array[AnyVal] ? + val rarray: Array[AnyRef] = new Array[AnyRef](2); + // !!! test Array[Object] + // !!! test Array[List] + // !!! test Array[JavaObject] + // !!! test Array[JavaSet] + + check("zarray.length", zarray.length, 2); + check("barray.length", barray.length, 2); + check("sarray.length", sarray.length, 2); + check("carray.length", carray.length, 2); + check("iarray.length", iarray.length, 2); + check("larray.length", larray.length, 2); + check("farray.length", farray.length, 2); + check("darray.length", darray.length, 2); + check("rarray.length", rarray.length, 2); + System.out.println(); + + check("zarray(0)", zarray(0), false); + check("barray(0)", barray(0), 0); + check("sarray(0)", sarray(0), 0); + check("carray(0)", carray(0), 0); + check("iarray(0)", iarray(0), 0); + check("larray(0)", larray(0), 0); + check("farray(0)", farray(0), 0); + check("darray(0)", darray(0), 0); + check("rarray(0)", rarray(0), null); + System.out.println(); + + check("zarray(1)", zarray(1), false); + check("barray(1)", barray(1), 0); + check("sarray(1)", sarray(1), 0); + check("carray(1)", carray(1), 0); + check("iarray(1)", iarray(1), 0); + check("larray(1)", larray(1), 0); + check("farray(1)", farray(1), 0); + check("darray(1)", darray(1), 0); + check("rarray(1)", rarray(1), null); + System.out.println(); + + zarray(0) = false; + barray(0) = 1 as Byte; + sarray(0) = 2 as Short; + carray(0) ='3'; + iarray(0) = 4; + larray(0) = 5; + farray(0) = 6; + darray(0) = 7; + rarray(0) ="8"; + + zarray(1) = true; + barray(1) = 2 as Byte; + sarray(1) = 3 as Short; + carray(1) ='4'; + iarray(1) = 5; + larray(1) = 6; + farray(1) = 7; + darray(1) = 8; + rarray(1) ="9"; + + check("zarray(0)", zarray(0), false); + check("barray(0)", barray(0), 1); + check("sarray(0)", sarray(0), 2); + check("carray(0)", carray(0),'3'); + check("iarray(0)", iarray(0), 4); + check("larray(0)", larray(0), 5); + check("farray(0)", farray(0), 6); + check("darray(0)", darray(0), 7); + check("rarray(0)", rarray(0),"8"); + System.out.println(); + + check("zarray(1)", zarray(1), true); + check("barray(1)", barray(1), 2); + check("sarray(1)", sarray(1), 3); + check("carray(1)", carray(1),'4'); + check("iarray(1)", iarray(1), 5); + check("larray(1)", larray(1), 6); + check("farray(1)", farray(1), 7); + check("darray(1)", darray(1), 8); + check("rarray(1)", rarray(1),"9"); + System.out.println(); + + // !!! check1("zarray(1)", zarray, 1, true); + // !!! check2("zarray(1)", zarray, 1, true); + // !!! ... + + } +} + +//############################################################################ + +module Test { + + def main(args: Array[String]): Unit = { + arrays.test; + } +} + +//############################################################################ |