blob: 9ee542f2ae1aee401a107296881e30381d07277d (
plain) (
tree)
|
|
object Test {
def main(args: Array[String]): Unit = {
import java.io.ByteArrayInputStream
import java.io.ByteArrayOutputStream
import java.io.ObjectInputStream
import java.io.ObjectOutputStream
import scala.collection.concurrent.TrieMap
def ser[T](o: T): Array[Byte] = {
val baos = new ByteArrayOutputStream()
new ObjectOutputStream(baos).writeObject(o)
baos.toByteArray()
}
def deser[T](bs: Array[Byte]): T =
new ObjectInputStream(new ByteArrayInputStream(bs)).readObject().asInstanceOf[T]
def cloneViaSerialization[T](t: T): T = deser(ser(t))
val f = cloneViaSerialization(_: TrieMap[Int, Int])
val tm = TrieMap(1 -> 2)
assert( f(f(tm)) == tm )
assert( ser(tm).length == ser(f(tm)).length )
}
}
|