aedef1995968f650d49ff3fba63334f70731b923
1 package org
.eclipse
.linuxtools
.ctf
.core
.tests
.io
;
3 import static org
.junit
.Assert
.assertEquals
;
5 import java
.nio
.ByteBuffer
;
6 import java
.nio
.ByteOrder
;
8 import org
.eclipse
.linuxtools
.ctf
.core
.event
.io
.BitBuffer
;
9 import org
.junit
.After
;
10 import org
.junit
.Before
;
11 import org
.junit
.Test
;
14 * Part of the BitBuffet tests with test the methods to read/write integers.
15 * These are separated from the main file because the fixture is different.
20 public class BitBufferIntTest
{
22 private BitBuffer fixture
;
28 * the command line arguments
30 public static void main(String
[] args
) {
31 new org
.junit
.runner
.JUnitCore().run(BitBufferTest
.class);
35 * Perform pre-test initialization.
39 fixture
= new BitBuffer(java
.nio
.ByteBuffer
.allocateDirect(128));
40 fixture
.setByteOrder(ByteOrder
.BIG_ENDIAN
);
41 createBuffer(fixture
);
45 * Perform post-test clean-up.
48 public void tearDown() {
49 // Add additional tear down code here
52 private static void createBuffer(BitBuffer fixture
) {
53 createBuffer(fixture
, 16);
56 private static void createBuffer(BitBuffer fixture
, int j
) {
57 byte[] bytes
= new byte[j
];
58 for (int i
= 0; i
< j
; i
++) {
59 bytes
[i
] = (byte) (i
% 0xff);
61 fixture
.setByteBuffer(ByteBuffer
.wrap(bytes
));
66 * Run the int getInt() method test.
69 public void testGetInt_base() {
70 int result
= fixture
.getInt();
71 assertEquals(0x020406, result
);
75 * Run the int getInt(int) method test.
78 public void testGetInt_pos0() {
80 int result
= fixture
.getInt();
81 assertEquals(0x010203, result
);
85 * Run the int getInt(int,boolean) method test.
88 public void testGetInt_pos1() {
91 boolean signed
= true;
93 int result
= fixture
.getInt(length
, signed
);
94 assertEquals(0, result
);
98 * Run the int getInt(int,boolean) method test.
101 public void testGetInt_pos2() {
104 boolean signed
= true;
106 int result
= fixture
.getInt(length
, signed
);
107 assertEquals(0, result
);
111 * Run the int getInt(int,int,boolean) method test.
114 public void testGetInt_signed() {
118 boolean signed
= true;
120 int result
= fixture
.getInt(index
, length
, signed
);
121 assertEquals(0, result
);
125 * Run the int getInt(int,int,boolean) method test.
128 public void testGetInt_signed_length1() {
132 boolean signed
= true;
134 int result
= fixture
.getInt(index
, length
, signed
);
135 assertEquals(0, result
);
139 * Run the int getInt(int,int,boolean) method test with a little-endian
143 public void testGetInt_le1() {
144 BitBuffer le_fixture
= new BitBuffer(
145 java
.nio
.ByteBuffer
.allocateDirect(128));
146 le_fixture
.setByteOrder(ByteOrder
.LITTLE_ENDIAN
);
147 createBuffer(le_fixture
);
148 le_fixture
.position(1);
151 int result
= le_fixture
.getInt(index
, length
, false);
153 /* 0x020100 downshifted */
154 assertEquals(0x810080, result
);
158 * Run the int getInt(int,int,boolean) method test with a little-endian
162 public void testGetInt_le2() {
163 BitBuffer le_fixture
= new BitBuffer(
164 java
.nio
.ByteBuffer
.allocateDirect(128));
165 le_fixture
.setByteOrder(ByteOrder
.LITTLE_ENDIAN
);
166 createBuffer(le_fixture
);
167 le_fixture
.position(0);
170 int result
= le_fixture
.getInt(index
, length
, false);
171 assertEquals(0x020100, result
);
175 * Run the int getInt(int,boolean) method test and expect an overflow.
177 @Test(expected
= java
.nio
.BufferOverflowException
.class)
178 public void testGetInt_invalid() {
179 BitBuffer small_fixture
= new BitBuffer(
180 java
.nio
.ByteBuffer
.allocateDirect(128));
181 small_fixture
.setByteOrder(ByteOrder
.BIG_ENDIAN
);
182 createBuffer(small_fixture
, 2);
183 small_fixture
.position(10);
185 boolean signed
= true;
187 int result
= small_fixture
.getInt(length
, signed
);
188 assertEquals(0, result
);
192 * Run the int getInt(int,int,boolean) method test and expect an overflow.
194 @Test(expected
= java
.nio
.BufferOverflowException
.class)
195 public void testGetInt_invalid2() {
196 BitBuffer small_fixture
= new BitBuffer(
197 java
.nio
.ByteBuffer
.allocateDirect(128));
198 small_fixture
.setByteOrder(ByteOrder
.BIG_ENDIAN
);
199 createBuffer(small_fixture
, 2);
200 small_fixture
.position(1);
203 boolean signed
= true;
205 int result
= small_fixture
.getInt(index
, length
, signed
);
206 assertEquals(0, result
);
210 * Run the void putInt(int) method test.
213 public void testPutInt() {
216 fixture
.putInt(value
);
220 * Run the void putInt(int,int,boolean) method test.
223 public void testPutInt_signed() {
228 fixture
.putInt(length
, value
);
232 * Run the void putInt(int,int,int,boolean) method test.
235 public void testPutInt_length0() {
241 fixture
.putInt(index
, length
, value
);
245 * Run the void putInt(int,int,int,boolean) method test.
248 public void testPutInt_length1() {
254 fixture
.putInt(index
, length
, value
);
258 * Run the void putInt(int) method test.
261 public void testPutInt_hex() {
262 int value
= 0x010203;
265 fixture
.putInt(value
);
266 int read
= fixture
.getInt();
267 assertEquals(value
, read
);
271 * Run the void putInt(int,int,int,boolean) method test.
273 @Test(expected
= java
.nio
.BufferOverflowException
.class)
274 public void testPutInt_invalid() {
276 fixture2
= new BitBuffer(java
.nio
.ByteBuffer
.allocateDirect(128));
277 fixture2
.setByteOrder(ByteOrder
.BIG_ENDIAN
);
278 createBuffer(fixture2
, 4);
279 fixture2
.position(1);
285 fixture2
.putInt(index
, length
, value
);
287 int read
= fixture2
.getInt(1, true);
288 assertEquals(value
, read
);
This page took 0.036538 seconds and 5 git commands to generate.