1 package org
.eclipse
.linuxtools
.ctf
.core
.tests
.event
;
3 import static org
.junit
.Assert
.assertEquals
;
4 import static org
.junit
.Assert
.assertNotNull
;
6 import java
.nio
.ByteBuffer
;
7 import java
.nio
.ByteOrder
;
9 import org
.eclipse
.linuxtools
.ctf
.core
.event
.io
.BitBuffer
;
10 import org
.eclipse
.linuxtools
.ctf
.core
.event
.types
.ArrayDeclaration
;
11 import org
.eclipse
.linuxtools
.ctf
.core
.event
.types
.ArrayDefinition
;
12 import org
.eclipse
.linuxtools
.ctf
.core
.event
.types
.Definition
;
13 import org
.eclipse
.linuxtools
.ctf
.core
.event
.types
.Encoding
;
14 import org
.eclipse
.linuxtools
.ctf
.core
.event
.types
.IntegerDeclaration
;
15 import org
.eclipse
.linuxtools
.ctf
.core
.event
.types
.IntegerDefinition
;
16 import org
.eclipse
.linuxtools
.ctf
.core
.event
.types
.SequenceDeclaration
;
17 import org
.eclipse
.linuxtools
.ctf
.core
.event
.types
.SequenceDefinition
;
18 import org
.eclipse
.linuxtools
.ctf
.core
.event
.types
.StringDeclaration
;
19 import org
.eclipse
.linuxtools
.ctf
.core
.event
.types
.StringDefinition
;
20 import org
.eclipse
.linuxtools
.ctf
.core
.event
.types
.StructDeclaration
;
21 import org
.eclipse
.linuxtools
.ctf
.core
.event
.types
.StructDefinition
;
22 import org
.junit
.After
;
23 import org
.junit
.Before
;
24 import org
.junit
.Test
;
27 * The class <code>CTFEventFieldTest</code> contains tests for the class
28 * <code>{@link CTFEventField}</code>.
31 * @version $Revision: 1.0 $
32 * @param <CTFIntegerArrayField>
34 public class CTFEventFieldTest
{
36 private static final String fieldName
= "id"; //$NON-NLS-1$
40 * Perform pre-test initialization.
44 // add additional set up code here
48 * Perform post-test clean-up.
51 public void tearDown() {
52 // Add additional tear down code here
59 * the command line arguments
61 public static void main(String
[] args
) {
62 new org
.junit
.runner
.JUnitCore().run(CTFEventFieldTest
.class);
66 * Run the CTFEventField parseField(Definition,String) method test.
69 public void testParseField_complex() {
71 IntegerDeclaration id
= new IntegerDeclaration(len
, false, len
,
72 ByteOrder
.LITTLE_ENDIAN
, Encoding
.ASCII
);
73 String lengthName
= "LengthName"; //$NON-NLS-1$
74 StructDeclaration structDec
= new StructDeclaration(0);
75 structDec
.addField(lengthName
, id
);
76 StructDefinition structDef
= new StructDefinition(structDec
, null,
79 structDef
.lookupInteger(lengthName
).setValue(32);
80 SequenceDeclaration sd
= new SequenceDeclaration(lengthName
, id
);
81 Definition fieldDef
= new SequenceDefinition(sd
, structDef
, "TestX"); //$NON-NLS-1$
82 ByteBuffer byb
= ByteBuffer
.allocate(1024);
83 for (int i
= 0; i
< 1024; i
++) {
86 BitBuffer bb
= new BitBuffer(byb
);
89 assertNotNull(fieldDef
);
93 * Run the CTFEventField parseField(Definition,String) method test.
96 public void testParseField_simple() {
97 Definition fieldDef
= new SequenceDefinition(new SequenceDeclaration(
98 "", new StringDeclaration()), null, fieldName
); //$NON-NLS-1$
100 assertNotNull(fieldDef
);
104 * Run the CTFEventField parseField(Definition,String) method test.
107 public void testParseField_simple2() {
108 IntegerDefinition fieldDef
= new IntegerDefinition(
109 new IntegerDeclaration(1, true, 1, ByteOrder
.BIG_ENDIAN
,
110 Encoding
.ASCII
), null, fieldName
);
111 fieldDef
.setValue(1L);
113 assertNotNull(fieldDef
);
120 public void testParseField_simple3() {
121 StringDefinition fieldDef
= new StringDefinition(
122 new StringDeclaration(), null, fieldName
);
123 fieldDef
.setString(new StringBuilder("Hello World")); //$NON-NLS-1$
125 String other
= fieldName
+ "=Hello World"; //$NON-NLS-1$
126 assertNotNull(fieldDef
);
127 assertEquals(fieldDef
.toString(), other
);
131 * Run the CTFEventField parseField(Definition,String) method test.
134 public void testParseField_manual() {
135 Definition fieldDef
= new ArrayDefinition(new ArrayDeclaration(20,
136 new IntegerDeclaration(8, false, 8, null, Encoding
.UTF8
)),
138 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[0]).setValue('H');
139 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[1]).setValue('e');
140 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[2]).setValue('l');
141 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[3]).setValue('l');
142 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[4]).setValue('o');
143 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[5]).setValue(' ');
144 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[6]).setValue('W');
145 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[7]).setValue('o');
146 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[8]).setValue('r');
147 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[9]).setValue('l');
148 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[10]).setValue('d');
149 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[11]).setValue(0);
151 assertNotNull(fieldDef
);
155 * Run the CTFEventField parseField(Definition,String) method test.
158 public void testParseField_manual2() {
159 Definition fieldDef
= new ArrayDefinition(new ArrayDeclaration(12,
160 new IntegerDeclaration(32, false, 32, null, null)), null,
162 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[0]).setValue('H');
163 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[1]).setValue('e');
164 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[2]).setValue('l');
165 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[3]).setValue('l');
166 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[4]).setValue('o');
167 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[5]).setValue(' ');
168 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[6]).setValue('W');
169 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[7]).setValue('o');
170 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[8]).setValue('r');
171 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[9]).setValue('l');
172 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[10]).setValue('d');
173 ((IntegerDefinition
) ((ArrayDefinition
) fieldDef
).getDefinitions()[11]).setValue(0);
175 assertNotNull(fieldDef
);
176 String other
= fieldName
177 + "={ 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 0}"; //$NON-NLS-1$
178 assertEquals(other
, fieldDef
.toString());