pekko/akka-actor-tests/src/test/scala/akka/serialization/SerializeSpec.scala

66 lines
2.1 KiB
Scala
Raw Normal View History

/**
* Copyright (C) 2009-2011 Typesafe Inc. <http://www.typesafe.com>
*/
package akka.serialization
import akka.serialization.Serialization._
import scala.reflect._
2011-10-11 16:05:48 +02:00
import akka.testkit.AkkaSpec
object SerializeSpec {
@BeanInfo
case class Address(no: String, street: String, city: String, zip: String) { def this() = this("", "", "", "") }
@BeanInfo
case class Person(name: String, age: Int, address: Address) { def this() = this("", 0, null) }
case class Record(id: Int, person: Person)
}
@org.junit.runner.RunWith(classOf[org.scalatest.junit.JUnitRunner])
2011-10-11 16:05:48 +02:00
class SerializeSpec extends AkkaSpec {
import SerializeSpec._
2011-10-11 16:05:48 +02:00
import app.serialization._
2011-10-11 16:05:48 +02:00
"Serialization" must {
"serialize Address" in {
val addr = Address("120", "Monroe Street", "Santa Clara", "95050")
val b = serialize(addr) match {
case Left(exception) fail(exception)
case Right(bytes) bytes
}
deserialize(b.asInstanceOf[Array[Byte]], classOf[Address], None) match {
case Left(exception) fail(exception)
case Right(add) assert(add === addr)
}
}
2011-10-11 16:05:48 +02:00
"serialize Person" in {
val person = Person("debasish ghosh", 25, Address("120", "Monroe Street", "Santa Clara", "95050"))
val b = serialize(person) match {
case Left(exception) fail(exception)
case Right(bytes) bytes
}
deserialize(b.asInstanceOf[Array[Byte]], classOf[Person], None) match {
case Left(exception) fail(exception)
case Right(p) assert(p === person)
}
}
2011-10-11 16:05:48 +02:00
"serialize record with default serializer" in {
val person = Person("debasish ghosh", 25, Address("120", "Monroe Street", "Santa Clara", "95050"))
val r = Record(100, person)
val b = serialize(r) match {
case Left(exception) fail(exception)
case Right(bytes) bytes
}
deserialize(b.asInstanceOf[Array[Byte]], classOf[Record], None) match {
case Left(exception) fail(exception)
case Right(p) assert(p === r)
}
}
}
}