View Javadoc

1   /*
2    *  Licensed to the Apache Software Foundation (ASF) under one
3    *  or more contributor license agreements.  See the NOTICE file
4    *  distributed with this work for additional information
5    *  regarding copyright ownership.  The ASF licenses this file
6    *  to you under the Apache License, Version 2.0 (the
7    *  "License"); you may not use this file except in compliance
8    *  with the License.  You may obtain a copy of the License at
9    *
10   *    http://www.apache.org/licenses/LICENSE-2.0
11   *
12   *  Unless required by applicable law or agreed to in writing,
13   *  software distributed under the License is distributed on an
14   *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   *  KIND, either express or implied.  See the License for the
16   *  specific language governing permissions and limitations
17   *  under the License.
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   * Test the IntSerializer class
32   * 
33   * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
34   */
35  public class IntSerializerTest
36  {
37      private static IntSerializer serializer = new IntSerializer();
38  
39  
40      @Test
41      public void testIntSerializer() throws IOException
42      {
43          int value = 0x00000000;
44          byte[] result = IntSerializer.serialize( value );
45  
46          assertEquals( ( byte ) 0x00, result[3] );
47          assertEquals( ( byte ) 0x00, result[2] );
48          assertEquals( ( byte ) 0x00, result[1] );
49          assertEquals( ( byte ) 0x00, result[0] );
50  
51          assertEquals( value, serializer.deserialize( new BufferHandler( result ) ).intValue() );
52  
53          // ------------------------------------------------------------------
54          value = 0x00000001;
55          result = IntSerializer.serialize( value );
56  
57          assertEquals( ( byte ) 0x01, result[3] );
58          assertEquals( ( byte ) 0x00, result[2] );
59          assertEquals( ( byte ) 0x00, result[1] );
60          assertEquals( ( byte ) 0x00, result[0] );
61  
62          assertEquals( value, serializer.deserialize( new BufferHandler( result ) ).intValue() );
63  
64          // ------------------------------------------------------------------
65          value = 0x000000FF;
66          result = IntSerializer.serialize( value );
67  
68          assertEquals( ( byte ) 0xFF, result[3] );
69          assertEquals( ( byte ) 0x00, result[2] );
70          assertEquals( ( byte ) 0x00, result[1] );
71          assertEquals( ( byte ) 0x00, result[0] );
72  
73          assertEquals( value, serializer.deserialize( new BufferHandler( result ) ).intValue() );
74  
75          // ------------------------------------------------------------------
76          value = 0x00000100;
77          result = IntSerializer.serialize( value );
78  
79          assertEquals( ( byte ) 0x00, result[3] );
80          assertEquals( ( byte ) 0x01, result[2] );
81          assertEquals( ( byte ) 0x00, result[1] );
82          assertEquals( ( byte ) 0x00, result[0] );
83  
84          assertEquals( value, serializer.deserialize( new BufferHandler( result ) ).intValue() );
85  
86          // ------------------------------------------------------------------
87          value = 0x0000FFFF;
88          result = IntSerializer.serialize( value );
89  
90          assertEquals( ( byte ) 0xFF, result[3] );
91          assertEquals( ( byte ) 0xFF, result[2] );
92          assertEquals( ( byte ) 0x00, result[1] );
93          assertEquals( ( byte ) 0x00, result[0] );
94  
95          assertEquals( value, serializer.deserialize( new BufferHandler( result ) ).intValue() );
96  
97          // ------------------------------------------------------------------
98          value = 0x00010000;
99          result = IntSerializer.serialize( value );
100 
101         assertEquals( ( byte ) 0x00, result[3] );
102         assertEquals( ( byte ) 0x00, result[2] );
103         assertEquals( ( byte ) 0x01, result[1] );
104         assertEquals( ( byte ) 0x00, result[0] );
105 
106         assertEquals( value, serializer.deserialize( new BufferHandler( result ) ).intValue() );
107 
108         // ------------------------------------------------------------------
109         value = 0x00FFFFFF;
110         result = IntSerializer.serialize( value );
111 
112         assertEquals( ( byte ) 0xFF, result[3] );
113         assertEquals( ( byte ) 0xFF, result[2] );
114         assertEquals( ( byte ) 0xFF, result[1] );
115         assertEquals( ( byte ) 0x00, result[0] );
116 
117         assertEquals( value, serializer.deserialize( new BufferHandler( result ) ).intValue() );
118 
119         // ------------------------------------------------------------------
120         value = 0x01000000;
121         result = IntSerializer.serialize( value );
122 
123         assertEquals( ( byte ) 0x00, result[3] );
124         assertEquals( ( byte ) 0x00, result[2] );
125         assertEquals( ( byte ) 0x00, result[1] );
126         assertEquals( ( byte ) 0x01, result[0] );
127 
128         assertEquals( value, serializer.deserialize( new BufferHandler( result ) ).intValue() );
129 
130         // ------------------------------------------------------------------
131         value = 0x7FFFFFFF;
132         result = IntSerializer.serialize( value );
133 
134         assertEquals( ( byte ) 0x00FF, result[3] );
135         assertEquals( ( byte ) 0x00FF, result[2] );
136         assertEquals( ( byte ) 0x00FF, result[1] );
137         assertEquals( ( byte ) 0x7F, result[0] );
138 
139         assertEquals( value, serializer.deserialize( new BufferHandler( result ) ).intValue() );
140 
141         // ------------------------------------------------------------------
142         value = 0x80000000;
143         result = IntSerializer.serialize( value );
144 
145         assertEquals( ( byte ) 0x00, result[3] );
146         assertEquals( ( byte ) 0x00, result[2] );
147         assertEquals( ( byte ) 0x00, result[1] );
148         assertEquals( ( byte ) 0x80, result[0] );
149 
150         assertEquals( value, serializer.deserialize( new BufferHandler( result ) ).intValue() );
151 
152         // ------------------------------------------------------------------
153         value = 0xFFFFFFFF;
154         result = IntSerializer.serialize( value );
155 
156         assertEquals( ( byte ) 0xFF, result[3] );
157         assertEquals( ( byte ) 0xFF, result[2] );
158         assertEquals( ( byte ) 0xFF, result[1] );
159         assertEquals( ( byte ) 0xFF, result[0] );
160 
161         assertEquals( value, serializer.deserialize( new BufferHandler( result ) ).intValue() );
162     }
163 }