File tree Expand file tree Collapse file tree 2 files changed +26
-23
lines changed
jvm/src/test/scala/scala/xml Expand file tree Collapse file tree 2 files changed +26
-23
lines changed Original file line number Diff line number Diff line change
1
+ package scala .xml
2
+
3
+ import java .io ._
4
+
5
+ object JavaByteSerialization {
6
+ def roundTrip [T ](obj : T ): T = {
7
+ def serialize (in : T ): Array [Byte ] = {
8
+ val bos = new ByteArrayOutputStream ()
9
+ val oos = new ObjectOutputStream (bos)
10
+ oos.writeObject(in)
11
+ oos.flush()
12
+ bos.toByteArray()
13
+ }
14
+
15
+ def deserialize (in : Array [Byte ]): T = {
16
+ val bis = new ByteArrayInputStream (in)
17
+ val ois = new ObjectInputStream (bis)
18
+ ois.readObject.asInstanceOf [T ]
19
+ }
20
+
21
+ deserialize(serialize(obj))
22
+ }
23
+ }
Original file line number Diff line number Diff line change 1
1
package scala .xml
2
2
3
- import java .io ._
4
-
5
3
import org .junit .Assert .assertEquals
6
4
import org .junit .Test
7
5
8
6
class SerializationTest {
9
- def roundTrip [T ](obj : T ): T = {
10
- def serialize (in : T ): Array [Byte ] = {
11
- val bos = new ByteArrayOutputStream ()
12
- val oos = new ObjectOutputStream (bos)
13
- oos.writeObject(in)
14
- oos.flush()
15
- bos.toByteArray()
16
- }
17
-
18
- def deserialize (in : Array [Byte ]): T = {
19
- val bis = new ByteArrayInputStream (in)
20
- val ois = new ObjectInputStream (bis)
21
- ois.readObject.asInstanceOf [T ]
22
- }
23
-
24
- deserialize(serialize(obj))
25
- }
26
-
27
7
@ Test
28
8
def xmlLiteral : Unit = {
29
9
val n = <node />
30
- assertEquals(n, roundTrip(n))
10
+ assertEquals(n, JavaByteSerialization . roundTrip(n))
31
11
}
32
12
33
13
@ Test
34
14
def empty : Unit = {
35
- assertEquals(NodeSeq .Empty , roundTrip(NodeSeq .Empty ))
15
+ assertEquals(NodeSeq .Empty , JavaByteSerialization . roundTrip(NodeSeq .Empty ))
36
16
}
37
17
38
18
@ Test
39
19
def implicitConversion : Unit = {
40
20
val parent = <parent ><child ></child ><child /></parent >
41
21
val children : Seq [Node ] = parent.child
42
22
val asNodeSeq : NodeSeq = children
43
- assertEquals(asNodeSeq, roundTrip(asNodeSeq))
23
+ assertEquals(asNodeSeq, JavaByteSerialization . roundTrip(asNodeSeq))
44
24
}
45
25
}
You can’t perform that action at this time.
0 commit comments