ctf: Make events immutable
[deliverable/tracecompass.git] / org.eclipse.linuxtools.ctf.core.tests / src / org / eclipse / linuxtools / ctf / core / tests / types / StructDefinitionTest.java
index de01dc1acde4c1ef2bd3d28367cd1ed2f396b3ab..ce4a57afcb2dfb38a3067a700206947842b227c9 100644 (file)
@@ -16,13 +16,11 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 
 import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.util.Map;
 
+import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
 import org.eclipse.linuxtools.ctf.core.event.types.ArrayDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.Definition;
-import org.eclipse.linuxtools.ctf.core.event.types.Encoding;
 import org.eclipse.linuxtools.ctf.core.event.types.EnumDeclaration;
 import org.eclipse.linuxtools.ctf.core.event.types.EnumDefinition;
 import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
@@ -48,29 +46,32 @@ import org.junit.Test;
  */
 public class StructDefinitionTest {
 
-    private static final String TEST_STRUCT_ID = "testStruct";
-    private static final String ENUM_2 = "y";
-    private static final String ENUM_1 = "x";
-    private static final String TAG_ID = "Tag";
-    private static final String INT_ID = "_id";
-    private static final String STRING_ID = "_args";
-    private static final String ENUM_ID = "_enumArgs";
-    private static final String SEQUENCE_ID = "_seq";
-    private static final String LENGTH_SEQ = "_len";
+    @NonNull private static final String TEST_STRUCT_ID = "testStruct";
+    @NonNull private static final String ENUM_2 = "y";
+    @NonNull private static final String ENUM_1 = "x";
+    @NonNull private static final String TAG_ID = "Tag";
+    @NonNull private static final String INT_ID = "_id";
+    @NonNull private static final String STRING_ID = "_args";
+    @NonNull private static final String ENUM_ID = "_enumArgs";
+    @NonNull private static final String SEQUENCE_ID = "_seq";
+    @NonNull private static final String LENGTH_SEQ = "_len";
+    @NonNull private static final String VAR_FIELD_NAME = "SomeVariant";
 
     private StructDefinition fixture;
     private StructDefinition emptyStruct;
     private StructDefinition simpleStruct;
-    private static final String VAR_FIELD_NAME = "SomeVariant";
 
     /**
      * Perform pre-test initialization.
+     *
+     * @throws CTFReaderException
+     *             won't happen
      */
     @Before
-    public void setUp() {
+    public void setUp() throws CTFReaderException {
         StructDeclaration sDec = new StructDeclaration(12);
-        IntegerDeclaration id = new IntegerDeclaration(32, false, 32, ByteOrder.BIG_ENDIAN, Encoding.NONE, null, 8);
-        IntegerDeclaration lenDec = new IntegerDeclaration(8, false, 8, ByteOrder.BIG_ENDIAN, Encoding.NONE, null, 8);
+        IntegerDeclaration id = IntegerDeclaration.INT_32B_DECL;
+        IntegerDeclaration lenDec = IntegerDeclaration.UINT_8_DECL;
         StringDeclaration sd = new StringDeclaration();
         EnumDeclaration ed = new EnumDeclaration(id);
         SequenceDeclaration seqDec = new SequenceDeclaration(LENGTH_SEQ, id);
@@ -88,20 +89,26 @@ public class StructDefinitionTest {
         sDec.addField(LENGTH_SEQ, lenDec);
         sDec.addField(SEQUENCE_ID, seqDec);
         sDec.addField(VAR_FIELD_NAME, varDec);
-        fixture = sDec.createDefinition(null, TEST_STRUCT_ID);
-        EnumDefinition eDef = tagDec.createDefinition(fixture, TAG_ID);
-        VariantDefinition vd = varDec.createDefinition(fixture,VAR_FIELD_NAME );
-        vd.setTagDefinition(eDef);
-
+        byte bytes[] = new byte[100];
+        bytes[4] = 1;
+        bytes[8] = 2;
+        bytes[13] = 3;
+        ByteBuffer byteBuffer = ByteBuffer.wrap(bytes);
+        BitBuffer bb = new BitBuffer(byteBuffer);
+        fixture = sDec.createDefinition(null, TEST_STRUCT_ID, bb);
+        EnumDefinition eDef = tagDec.createDefinition(fixture, TAG_ID, bb);
+        assertNotNull(eDef);
+        VariantDefinition vd = varDec.createDefinition(fixture, VAR_FIELD_NAME, bb);
+        assertNotNull(vd);
         // Create an empty struct
         StructDeclaration esDec = new StructDeclaration(32);
-        emptyStruct = esDec.createDefinition(null, TEST_STRUCT_ID);
+        emptyStruct = esDec.createDefinition(null, TEST_STRUCT_ID, bb);
 
         // Create a simple struct with two items
         StructDeclaration ssDec = new StructDeclaration(32);
         ssDec.addField(INT_ID, id);
         ssDec.addField(STRING_ID, sd);
-        simpleStruct = ssDec.createDefinition(null, TEST_STRUCT_ID);
+        simpleStruct = ssDec.createDefinition(null, TEST_STRUCT_ID, bb);
     }
 
     /**
@@ -118,7 +125,7 @@ public class StructDefinitionTest {
      */
     @Test
     public void testGetDefinitions_1() {
-        Map<String, Definition> result = fixture.getDefinitions();
+        Definition result = fixture.getDefinition("_id");
         assertNotNull(result);
     }
 
@@ -217,19 +224,6 @@ public class StructDefinitionTest {
         assertNotNull(result);
     }
 
-    /**
-     * Run the void read(BitBuffer) method test.
-     * @throws CTFReaderException error
-     */
-    @Test
-    public void testRead_() throws CTFReaderException {
-        ByteBuffer bb = ByteBuffer.allocateDirect(128);
-        bb.put((byte) 20);
-        BitBuffer input = new BitBuffer(bb);
-
-        fixture.read(input);
-    }
-
     /**
      * Run the String toString() method test.
      */
This page took 0.025495 seconds and 5 git commands to generate.