1 /*******************************************************************************
2 * Copyright (c) 2013 Ericsson
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
9 * Matthew Khouzam - Initial API and implementation
10 *******************************************************************************/
12 package org
.eclipse
.linuxtools
.ctf
.core
.tests
.types
;
14 import static org
.junit
.Assert
.assertEquals
;
15 import static org
.junit
.Assert
.assertNotNull
;
17 import java
.nio
.ByteOrder
;
19 import org
.eclipse
.linuxtools
.ctf
.core
.event
.types
.Encoding
;
20 import org
.eclipse
.linuxtools
.ctf
.core
.event
.types
.IDeclaration
;
21 import org
.eclipse
.linuxtools
.ctf
.core
.event
.types
.IntegerDeclaration
;
22 import org
.eclipse
.linuxtools
.ctf
.core
.event
.types
.SequenceDeclaration
;
23 import org
.eclipse
.linuxtools
.ctf
.core
.event
.types
.SequenceDefinition
;
24 import org
.eclipse
.linuxtools
.ctf
.core
.event
.types
.StringDeclaration
;
25 import org
.eclipse
.linuxtools
.ctf
.core
.event
.types
.StructDeclaration
;
26 import org
.eclipse
.linuxtools
.ctf
.core
.event
.types
.StructDefinition
;
27 import org
.junit
.After
;
28 import org
.junit
.Before
;
29 import org
.junit
.Test
;
32 * The class <code>SequenceDeclarationTest</code> contains tests for the class
33 * <code>{@link SequenceDeclaration}</code>.
36 * @version $Revision: 1.0 $
38 @SuppressWarnings("javadoc")
39 public class SequenceDeclarationTest
{
41 private SequenceDeclaration fixture
;
43 static final String fieldName
= "LengthName"; //$NON-NLS-1$
48 * the command line arguments
50 public static void main(String
[] args
) {
51 new org
.junit
.runner
.JUnitCore().run(SequenceDeclarationTest
.class);
56 fixture
= new SequenceDeclaration(fieldName
, new StringDeclaration());
60 public void tearDown() {
61 // Add additional tear down code here
65 * Run the SequenceDeclaration(String,Declaration) constructor test.
68 public void testSequenceDeclaration() {
69 String lengthName
= ""; //$NON-NLS-1$
70 IDeclaration elemType
= new StringDeclaration();
72 SequenceDeclaration result
= new SequenceDeclaration(lengthName
,
74 assertNotNull(result
);
75 String string
= "[declaration] sequence["; //$NON-NLS-1$
76 assertEquals(string
, result
.toString().substring(0, string
.length()));
80 * Run the SequenceDefinition createDefinition(DefinitionScope,String)
84 public void testCreateDefinition() {
85 IntegerDeclaration id
= new IntegerDeclaration(8, false, 8,
86 ByteOrder
.LITTLE_ENDIAN
, Encoding
.UTF8
, null, 32);
88 StructDeclaration structDec
= new StructDeclaration(0);
89 structDec
.addField(fieldName
, id
);
90 StructDefinition structDef
= new StructDefinition(structDec
, null, "x"); //$NON-NLS-1$
92 structDef
.lookupInteger(fieldName
).setValue(seqLen
);
93 SequenceDefinition result
= this.fixture
.createDefinition(structDef
,
95 assertNotNull(result
);
99 * Run the Declaration getElementType() method test.
102 public void testGetElementType() {
103 IDeclaration result
= fixture
.getElementType();
104 assertNotNull(result
);
108 * Run the String toString() method test.
111 public void testToString() {
112 String result
= fixture
.toString();
113 String left
= "[declaration] sequence["; //$NON-NLS-1$
114 assertEquals(left
, result
.substring(0, left
.length()));