1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.directory.mavibot.btree.serializer;
21
22
23 import static org.junit.Assert.assertEquals;
24
25 import java.io.IOException;
26
27 import org.junit.Test;
28
29
30
31
32
33
34
35 public class StringSerializerTest
36 {
37 private static StringSerializer serializer = StringSerializer.INSTANCE;
38
39
40 @Test
41 public void testStringSerializer() throws IOException
42 {
43 String value = null;
44 byte[] result = serializer.serialize( value );
45
46 assertEquals( 4, result.length );
47 assertEquals( ( byte ) 0xFF, result[0] );
48 assertEquals( ( byte ) 0xFF, result[1] );
49 assertEquals( ( byte ) 0xFF, result[2] );
50 assertEquals( ( byte ) 0xFF, result[3] );
51
52 assertEquals( value, serializer.deserialize( new BufferHandler( result ) ) );
53
54
55 value = "";
56 result = serializer.serialize( value );
57
58 assertEquals( 4, result.length );
59 assertEquals( ( byte ) 0x00, result[0] );
60 assertEquals( ( byte ) 0x00, result[1] );
61 assertEquals( ( byte ) 0x00, result[2] );
62 assertEquals( ( byte ) 0x00, result[3] );
63
64 assertEquals( value, serializer.deserialize( new BufferHandler( result ) ) );
65
66
67 value = "test";
68 result = serializer.serialize( value );
69
70 assertEquals( 8, result.length );
71 assertEquals( ( byte ) 0x00, result[0] );
72 assertEquals( ( byte ) 0x00, result[1] );
73 assertEquals( ( byte ) 0x00, result[2] );
74 assertEquals( ( byte ) 0x04, result[3] );
75 assertEquals( 't', result[4] );
76 assertEquals( 'e', result[5] );
77 assertEquals( 's', result[6] );
78 assertEquals( 't', result[7] );
79
80 assertEquals( value, serializer.deserialize( new BufferHandler( result ) ) );
81
82
83 value = "L\u00E9charny";
84 result = serializer.serialize( value );
85
86 assertEquals( 13, result.length );
87 assertEquals( ( byte ) 0x00, result[0] );
88 assertEquals( ( byte ) 0x00, result[1] );
89 assertEquals( ( byte ) 0x00, result[2] );
90 assertEquals( ( byte ) 0x09, result[3] );
91 assertEquals( 'L', result[4] );
92 assertEquals( ( byte ) 0xC3, result[5] );
93 assertEquals( ( byte ) 0xA9, result[6] );
94 assertEquals( 'c', result[7] );
95 assertEquals( 'h', result[8] );
96 assertEquals( 'a', result[9] );
97 assertEquals( 'r', result[10] );
98 assertEquals( 'n', result[11] );
99 assertEquals( 'y', result[12] );
100
101 assertEquals( value, serializer.deserialize( new BufferHandler( result ) ) );
102 }
103 }