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