X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=org.eclipse.linuxtools.ctf.core.tests%2Fsrc%2Forg%2Feclipse%2Flinuxtools%2Fctf%2Fcore%2Ftests%2Ftypes%2FArrayDefinitionTest.java;h=b2df5813a5109632f46593c0ab7df0ad36039e86;hb=486efb2e13e1bea489a6196734e61d8ade1fc81b;hp=43e6109d6970f2649a2c984a836f066a8d9a6f37;hpb=13be1a8f5f3fc3c35a7b7152d4f0c803dcbcb624;p=deliverable%2Ftracecompass.git
diff --git a/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/ArrayDefinitionTest.java b/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/ArrayDefinitionTest.java
index 43e6109d69..b2df5813a5 100644
--- a/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/ArrayDefinitionTest.java
+++ b/org.eclipse.linuxtools.ctf.core.tests/src/org/eclipse/linuxtools/ctf/core/tests/types/ArrayDefinitionTest.java
@@ -7,22 +7,18 @@ import static org.junit.Assert.assertTrue;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
-import org.eclipse.linuxtools.ctf.core.event.EventDefinition;
import org.eclipse.linuxtools.ctf.core.event.io.BitBuffer;
import org.eclipse.linuxtools.ctf.core.event.types.ArrayDeclaration;
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.IDeclaration;
import org.eclipse.linuxtools.ctf.core.event.types.IDefinitionScope;
import org.eclipse.linuxtools.ctf.core.event.types.IntegerDeclaration;
import org.eclipse.linuxtools.ctf.core.event.types.IntegerDefinition;
import org.eclipse.linuxtools.ctf.core.event.types.StringDeclaration;
import org.eclipse.linuxtools.ctf.core.event.types.StringDefinition;
-import org.eclipse.linuxtools.ctf.core.event.types.StructDefinition;
-import org.eclipse.linuxtools.ctf.core.tests.TestParams;
-import org.eclipse.linuxtools.ctf.core.trace.CTFReaderException;
import org.eclipse.linuxtools.ctf.core.trace.CTFTrace;
-import org.eclipse.linuxtools.ctf.core.trace.CTFTraceReader;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -30,18 +26,20 @@ import org.junit.Test;
/**
* The class ArrayDefinitionTest
contains tests for the class
* {@link ArrayDefinition}
.
- *
+ *
* @author ematkho
* @version $Revision: 1.0 $
*/
public class ArrayDefinitionTest {
private CTFTrace trace;
- private ArrayDefinition fixture;
+ private ArrayDefinition charArrayFixture;
+ private ArrayDefinition stringArrayFixture;
+ private ArrayDefinition longArrayFixture;
/**
* Launch the test.
- *
+ *
* @param args
* the command line arguments
*/
@@ -51,38 +49,69 @@ public class ArrayDefinitionTest {
/**
* Perform pre-test initialization.
- *
+ *
* structDef shouldn't be null after parsing the CTFTraceReader object, so
* we can ignore the warning.
- *
- * @throws CTFReaderException
*/
- @SuppressWarnings("null")
@Before
- public void setUp() throws CTFReaderException {
- this.trace = TestParams.createTrace();
-
- CTFTraceReader tr = new CTFTraceReader(this.trace);
- String name = ""; //$NON-NLS-1$
- StructDefinition structDef = null;
- boolean foundArray = false;
-
- while (tr.hasMoreEvents() && !foundArray) {
- tr.advance();
- EventDefinition ed = tr.getCurrentEventDef();
- for (String key : ed.fields.getDefinitions().keySet()) {
- structDef = ed.fields;
- Definition d = structDef.lookupDefinition(key);
- if (d instanceof ArrayDefinition) {
- foundArray = true;
- name = key;
- break;
- }
- }
- }
- fixture = structDef.lookupArray(name);
+ public void setUp() {
+ charArrayFixture = createCharArray();
+ stringArrayFixture = createStringArray();
+ longArrayFixture = createLongArray();
+ }
+
+ private ArrayDefinition createLongArray() {
+ IntegerDeclaration decl = new IntegerDeclaration(32, false, 10, ByteOrder.BIG_ENDIAN, Encoding.NONE, "none",8); //$NON-NLS-1$
+ IntegerDefinition[] defs = createIntDefs(10, 32);
+ ArrayDefinition temp = setUpDeclaration(decl, defs);
+ return temp;
+ }
+
+ private ArrayDefinition createCharArray() {
+ IntegerDeclaration decl = new IntegerDeclaration(8, false, 10, ByteOrder.BIG_ENDIAN, Encoding.UTF8, "none",8); //$NON-NLS-1$
+ IntegerDefinition[] defs = createIntDefs(4,8);
+ ArrayDefinition temp = setUpDeclaration(decl, defs);
+ return temp;
}
+
+ /**
+ * @return
+ */
+ private ArrayDefinition createStringArray() {
+ StringDeclaration strDecl = new StringDeclaration();
+ StringDefinition[] defs = createDefs();
+ ArrayDefinition temp = setUpDeclaration(strDecl, defs);
+ return temp;
+ }
+ /**
+ * @param decl
+ * @param defs
+ * @return
+ */
+ private ArrayDefinition setUpDeclaration(IDeclaration decl,
+ Definition[] defs) {
+ ArrayDeclaration ad = new ArrayDeclaration(0, decl);
+ ArrayDefinition temp = new ArrayDefinition(ad , this.trace , "Testx"); //$NON-NLS-1$
+ temp.setDefinitions(defs);
+ return temp;
+ }
+ /**
+ * @param size
+ * @param bits
+ * @return
+ */
+ private static IntegerDefinition[] createIntDefs(int size, int bits) {
+ IntegerDefinition[] defs = new IntegerDefinition[size];
+ for (int i = 0; i < size; i++) {
+
+ String content = "test" + i; //$NON-NLS-1$
+ defs[i] = new IntegerDefinition(new IntegerDeclaration(bits, false,
+ 16, ByteOrder.LITTLE_ENDIAN, Encoding.UTF8, content, 24), null, content);
+ defs[i].setValue(i);
+ }
+ return defs;
+ }
/**
* Perform post-test clean-up.
*/
@@ -110,7 +139,7 @@ public class ArrayDefinitionTest {
*/
@Test
public void testArrayDefinition_baseDeclaration() {
- ArrayDeclaration declaration = fixture.getDeclaration();
+ ArrayDeclaration declaration = charArrayFixture.getDeclaration();
String fieldName = ""; //$NON-NLS-1$
ArrayDefinition result = new ArrayDefinition(declaration, this.trace,
@@ -141,8 +170,8 @@ public class ArrayDefinitionTest {
*/
@Test
public void testGetDeclaration() {
- fixture.setDefinitions(new Definition[] {});
- ArrayDeclaration result = fixture.getDeclaration();
+ charArrayFixture.setDefinitions(new Definition[] {});
+ ArrayDeclaration result = charArrayFixture.getDeclaration();
assertNotNull(result);
}
@@ -153,7 +182,7 @@ public class ArrayDefinitionTest {
@Test
public void testGetElem_noDefs() {
int i = 0;
- Definition result = fixture.getElem(i);
+ Definition result = charArrayFixture.getElem(i);
assertNotNull(result);
}
@@ -164,10 +193,10 @@ public class ArrayDefinitionTest {
@Test
public void testGetElem_withDefs() {
Definition defs[] = createDefs();
- fixture.setDefinitions(defs);
+ charArrayFixture.setDefinitions(defs);
int j = 1;
- Definition result = fixture.getElem(j);
+ Definition result = charArrayFixture.getElem(j);
assertNotNull(result);
}
@@ -177,34 +206,28 @@ public class ArrayDefinitionTest {
*/
@Test
public void testIsString_ownDefs() {
- StringDefinition[] defs = createDefs();
- fixture.setDefinitions(defs);
- boolean result = fixture.isString();
+ boolean result = stringArrayFixture.isString();
assertFalse(result);
}
+
+
/**
* Run the boolean isString() method test.
*/
@Test
public void testIsString_complex() {
final IntegerDeclaration id = new IntegerDeclaration(8, false, 16,
- ByteOrder.LITTLE_ENDIAN, Encoding.UTF8);
+ ByteOrder.LITTLE_ENDIAN, Encoding.UTF8, null, 8);
ArrayDeclaration ad = new ArrayDeclaration(0, id);
ArrayDefinition ownFixture = new ArrayDefinition(ad, this.trace,
"Testx"); //$NON-NLS-1$
int size = 4;
- IntegerDefinition[] defs = new IntegerDefinition[size];
- for (int i = 0; i < size; i++) {
-
- String content = "test" + i; //$NON-NLS-1$
- defs[i] = new IntegerDefinition(new IntegerDeclaration(8, false,
- 16, ByteOrder.LITTLE_ENDIAN, Encoding.UTF8), null, content);
- defs[i].setValue(i);
- }
+ int bits = 8;
+ IntegerDefinition[] defs = createIntDefs(size, bits);
ownFixture.setDefinitions(defs);
boolean result = ownFixture.isString();
@@ -212,17 +235,28 @@ public class ArrayDefinitionTest {
assertTrue(result);
}
+
+
/**
* Run the boolean isString() method test.
*/
@Test
public void testIsString_emptyDef() {
- fixture.setDefinitions(new Definition[] {});
- boolean result = fixture.isString();
+ charArrayFixture.setDefinitions(new Definition[] {});
+ boolean result = charArrayFixture.isString();
- assertFalse(result);
+ assertTrue(result);
}
+ /**
+ * Run the boolean isString() method test.
+ */
+ @Test
+ public void testIsString_emptyDefStrDecl() {
+ ArrayDefinition ownFixture = createStringArray();
+ boolean result = ownFixture.isString();
+ assertFalse(result);
+ }
/**
* Run the void read(BitBuffer) method test.
*/
@@ -230,7 +264,7 @@ public class ArrayDefinitionTest {
public void testRead_noDefs() {
BitBuffer input = new BitBuffer(ByteBuffer.allocateDirect(128));
- fixture.read(input);
+ charArrayFixture.read(input);
}
/**
@@ -238,34 +272,52 @@ public class ArrayDefinitionTest {
*/
@Test
public void testRead_withDefs() {
- fixture.setDefinitions(new Definition[] {});
+ charArrayFixture.setDefinitions(new Definition[] {});
BitBuffer input = new BitBuffer(java.nio.ByteBuffer.allocateDirect(128));
- fixture.read(input);
+ charArrayFixture.read(input);
}
/**
* Run the String toString() method test.
*/
@Test
- public void testToString_base() {
- String result = fixture.toString();
-
+ public void testToString_char() {
+ String result = charArrayFixture.toString();
+ assertNotNull(result);
+ }
+ /**
+ * Run the String toString() method test.
+ */
+ @Test
+ public void testToString_long() {
+ String result = longArrayFixture.toString();
assertNotNull(result);
}
+ /**
+ * Run the String toString() method test.
+ */
+ @Test
+ public void testToString_string() {
+ String result = stringArrayFixture.toString();
+ assertNotNull(result);
+ }
/**
* Run the String toString() method test.
*/
@Test
public void testToString_withDefs() {
- int size = 2;
- StringDefinition[] defs = new StringDefinition[size];
- for (int i = 0; i < size; i++) {
- defs[i] = new StringDefinition(null, null, ("test" + i)); //$NON-NLS-1$
- }
- fixture.setDefinitions(defs);
- String result = fixture.toString();
+ String result = charArrayFixture.toString();
+
+ assertNotNull(result);
+ }
+ /**
+ * Run the String toString() method test.
+ */
+ @Test
+ public void testToStringStringArray() {
+ String result = stringArrayFixture.toString();
assertNotNull(result);
}