diff options
author | michelou <michelou@epfl.ch> | 2008-08-26 13:48:19 +0000 |
---|---|---|
committer | michelou <michelou@epfl.ch> | 2008-08-26 13:48:19 +0000 |
commit | a3e8c0637f63aceb43506aefac8c14b8068d80b9 (patch) | |
tree | c60065a6b56521fd5f3e96cfd36e2d73c897fd0b /test/files | |
parent | 6a7a1eeff9a3975d1eb76f3ecd9000bfc97be824 (diff) | |
download | scala-a3e8c0637f63aceb43506aefac8c14b8068d80b9.tar.gz scala-a3e8c0637f63aceb43506aefac8c14b8068d80b9.tar.bz2 scala-a3e8c0637f63aceb43506aefac8c14b8068d80b9.zip |
Fixed serialization of enums
Diffstat (limited to 'test/files')
-rwxr-xr-x | test/files/jvm/serialization.check | 28 | ||||
-rwxr-xr-x | test/files/jvm/serialization.scala | 55 |
2 files changed, 78 insertions, 5 deletions
diff --git a/test/files/jvm/serialization.check b/test/files/jvm/serialization.check index d7ec08e016..863857d4cc 100755 --- a/test/files/jvm/serialization.check +++ b/test/files/jvm/serialization.check @@ -1,3 +1,8 @@ +x0 = List(1, 2, 3) +y0 = List(1, 2, 3) +x0 eq y0: false - y0 eq x0: false +x0 equals y0: true - y0 equals x0: true + x1 = List() y1 = List() x1 eq y1: true - y1 eq x1: true @@ -24,6 +29,29 @@ y6 = (BannerLimit,12345) x6 eq y6: false - y6 eq x6: false x6 equals y6: true - y6 equals x6: true +x7 = {scala.BigDecimal$RoundingMode(0), scala.BigDecimal$RoundingMode(1), scala.BigDecimal$RoundingMode(2), scala.BigDecimal$RoundingMode(3), scala.BigDecimal$RoundingMode(4), scala.BigDecimal$RoundingMode(5), scala.BigDecimal$RoundingMode(6), scala.BigDecimal$RoundingMode(7)} +y7 = {scala.BigDecimal$RoundingMode(0), scala.BigDecimal$RoundingMode(1), scala.BigDecimal$RoundingMode(2), scala.BigDecimal$RoundingMode(3), scala.BigDecimal$RoundingMode(4), scala.BigDecimal$RoundingMode(5), scala.BigDecimal$RoundingMode(6), scala.BigDecimal$RoundingMode(7)} +x7 eq y7: true - y7 eq x7: true +x7 equals y7: true - y7 equals x7: true + +x8 = {Test1_scala$WeekDay(0), Test1_scala$WeekDay(1), Test1_scala$WeekDay(2), Test1_scala$WeekDay(3), Test1_scala$WeekDay(4), Test1_scala$WeekDay(5), Test1_scala$WeekDay(6)} +y8 = {Test1_scala$WeekDay(0), Test1_scala$WeekDay(1), Test1_scala$WeekDay(2), Test1_scala$WeekDay(3), Test1_scala$WeekDay(4), Test1_scala$WeekDay(5), Test1_scala$WeekDay(6)} +x8 eq y8: true - y8 eq x8: true +x8 equals y8: true - y8 equals x8: true + +x9 = scala.BigDecimal$RoundingMode(0) +y9 = scala.BigDecimal$RoundingMode(0) +x9 eq y9: true - y9 eq x9: true +x9 equals y9: true - y9 equals x9: true + +x10 = Test1_scala$WeekDay(0) +y10 = Test1_scala$WeekDay(0) +x10 eq y10: true - y10 eq x10: true +x10 equals y10: true - y10 equals x10: true + +x9 eq x10: false - x10 eq x9: false +x9 equals x10: false - x10 equals x9: false + x = List((buffers,20), (layers,2), (title,3)) y = List((buffers,20), (layers,2), (title,3)) x equals y: true - y equals x: true diff --git a/test/files/jvm/serialization.scala b/test/files/jvm/serialization.scala index 93f3841b6e..d95d2e809f 100755 --- a/test/files/jvm/serialization.scala +++ b/test/files/jvm/serialization.scala @@ -1,7 +1,7 @@ //############################################################################ // Serialization //############################################################################ -// $Id: serialization.scala 12990 2007-10-03 16:52:05Z michelou $ +// $Id: serialization.scala 15934 2008-08-26 12:10:05Z michelou $ import java.lang.System @@ -41,25 +41,47 @@ object Test1_scala { private def arrayToString[A](arr: Array[A]): String = List.fromArray(arr).mkString("Array[",",","]") - private def arrayEquals[A, B](a1: Array[A], a2: Array[B]) = - (a1.length == a2.length) && - (Iterator.range(0, a1.length) forall { i => a1(i) == a2(i) }) + private def arrayEquals[A, B](a1: Array[A], a2: Array[B]): Boolean = + (a1.length == a2.length) && + (Iterator.range(0, a1.length) forall { i => a1(i) == a2(i) }) + @serializable + object WeekDay extends Enumeration { + type WeekDay = Value + val Monday, Tuesday, Wednesday, Thusday, Friday, Saturday, Sunday = Value + } + import WeekDay._, BigDecimal._, RoundingMode._ + + val x0 = List(1, 2, 3) val x1 = Nil val x2 = None val x3 = Array(1, 2, 3) val x4 = { x: Int => 2 * x } val x5 = 'hello val x6 = ("BannerLimit", 12345) + val x7 = BigDecimal.RoundingMode + val x8 = WeekDay + val x9 = ROUND_UP + val x10 = Monday try { + val y0: List[Int] = Serialize.read(Serialize.write(x0)) val y1: List[Nothing] = Serialize.read(Serialize.write(x1)) val y2: Option[Nothing] = Serialize.read(Serialize.write(x2)) val y3: Array[Int] = Serialize.read(Serialize.write(x3)) val y4: Function[Int, Int] = Serialize.read(Serialize.write(x4)) val y5: Symbol = Serialize.read(Serialize.write(x5)) val y6: (String, Int) = Serialize.read(Serialize.write(x6)) - + val y7: RoundingMode.type = Serialize.read(Serialize.write(x7)) + val y8: WeekDay.type = Serialize.read(Serialize.write(x8)) + val y9: RoundingMode = Serialize.read(Serialize.write(x9)) + val y10: WeekDay = Serialize.read(Serialize.write(x10)) + + println("x0 = " + x0) + println("y0 = " + y0) + println("x0 eq y0: " + (x0 eq y0) + " - y0 eq x0: " + (y0 eq x0)) + println("x0 equals y0: " + (x0 equals y0) + " - y0 equals x0: " + (y0 equals x0)) + println() println("x1 = " + x1) println("y1 = " + y1) println("x1 eq y1: " + (x1 eq y1) + " - y1 eq x1: " + (y1 eq x1)) @@ -86,6 +108,29 @@ object Test1_scala { println("x6 eq y6: " + (x6 eq y6) + " - y6 eq x6: " + (y6 eq x6)) println("x6 equals y6: " + (x6 equals y6) + " - y6 equals x6: " + (y6 equals x6)) println() + println("x7 = " + x7) + println("y7 = " + y7) + println("x7 eq y7: " + (x7 eq y7) + " - y7 eq x7: " + (y7 eq x7)) + println("x7 equals y7: " + (x7 equals y7) + " - y7 equals x7: " + (y7 equals x7)) + println() + println("x8 = " + x8) + println("y8 = " + y8) + println("x8 eq y8: " + (x8 eq y8) + " - y8 eq x8: " + (y8 eq x8)) + println("x8 equals y8: " + (x8 equals y8) + " - y8 equals x8: " + (y8 equals x8)) + println() + println("x9 = " + x9) + println("y9 = " + y9) + println("x9 eq y9: " + (x9 eq y9) + " - y9 eq x9: " + (y9 eq x9)) + println("x9 equals y9: " + (x9 equals y9) + " - y9 equals x9: " + (y9 equals x9)) + println() + println("x10 = " + x10) + println("y10 = " + y10) + println("x10 eq y10: " + (x10 eq y10) + " - y10 eq x10: " + (y10 eq x10)) + println("x10 equals y10: " + (x10 equals y10) + " - y10 equals x10: " + (y10 equals x10)) + println() + println("x9 eq x10: " + (x9 eq x10) + " - x10 eq x9: " + (x10 eq x9)) + println("x9 equals x10: " + (x9 equals x10) + " - x10 equals x9: " + (x10 equals x9)) + println() } catch { case e: Exception => |