common: Annotate some methods in ByteBuffer
[deliverable/tracecompass.git] / ctf / org.eclipse.tracecompass.ctf.core.tests / src / org / eclipse / tracecompass / ctf / core / tests / types / StringDeclarationTest.java
1 /*******************************************************************************
2 * Copyright (c) 2013, 2014 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
7 *
8 * Contributors:
9 * Matthew Khouzam - Initial API and implementation
10 *******************************************************************************/
11
12 package org.eclipse.tracecompass.ctf.core.tests.types;
13
14 import static org.junit.Assert.assertEquals;
15 import static org.junit.Assert.assertNotEquals;
16 import static org.junit.Assert.assertNotNull;
17
18 import java.nio.ByteBuffer;
19
20 import org.eclipse.tracecompass.ctf.core.CTFException;
21 import org.eclipse.tracecompass.ctf.core.event.io.BitBuffer;
22 import org.eclipse.tracecompass.ctf.core.event.scope.IDefinitionScope;
23 import org.eclipse.tracecompass.ctf.core.event.types.Encoding;
24 import org.eclipse.tracecompass.ctf.core.event.types.StringDeclaration;
25 import org.eclipse.tracecompass.ctf.core.event.types.StringDefinition;
26 import org.junit.Before;
27 import org.junit.Test;
28
29 /**
30 * The class <code>StringDeclarationTest</code> contains tests for the class
31 * <code>{@link StringDeclaration}</code>.
32 *
33 * @author ematkho
34 * @version $Revision: 1.0 $
35 */
36 public class StringDeclarationTest {
37
38 private StringDeclaration fixture;
39
40 /**
41 * Perform pre-test initialization.
42 */
43 @Before
44 public void setUp() {
45 fixture = StringDeclaration.getStringDeclaration(Encoding.ASCII);
46 }
47
48 /**
49 * Run the StringDeclaration() constructor test.
50 */
51 @Test
52 public void testStringDeclaration() {
53 StringDeclaration result = StringDeclaration.getStringDeclaration(Encoding.UTF8);
54
55 assertNotNull(result);
56 String string = "[declaration] string[";
57 assertEquals(string, result.toString().substring(0, string.length()));
58 }
59
60 /**
61 * Run the StringDeclaration(Encoding) constructor test.
62 */
63 @Test
64 public void testStringDeclaration_2() {
65 Encoding encoding = Encoding.ASCII;
66 StringDeclaration result = StringDeclaration.getStringDeclaration(encoding);
67
68 assertNotNull(result);
69 String string = "[declaration] string[";
70 assertEquals(string, result.toString().substring(0, string.length()));
71 }
72
73 /**
74 * Run the StringDefinition createDefinition(DefinitionScope,String) method
75 * test.
76 *
77 * @throws CTFException
78 * out of buffer exception
79 */
80 @Test
81 public void testCreateDefinition() throws CTFException {
82 IDefinitionScope definitionScope = null;
83 String fieldName = "id";
84 ByteBuffer allocate = ByteBuffer.allocate(100);
85 BitBuffer bb = new BitBuffer(allocate);
86 StringDefinition result = fixture.createDefinition(definitionScope,
87 fieldName, bb);
88
89 assertNotNull(result);
90 }
91
92 /**
93 * Run the Encoding getEncoding() method test.
94 */
95 @Test
96 public void testGetEncoding() {
97 Encoding result = fixture.getEncoding();
98
99 assertNotNull(result);
100 assertEquals("ASCII", result.name());
101 assertEquals("ASCII", result.toString());
102 assertEquals(1, result.ordinal());
103 }
104
105 /**
106 * Run the String toString() method test.
107 */
108 @Test
109 public void testToString() {
110 String result = fixture.toString();
111 String left = "[declaration] string[";
112 String right = result.substring(0, left.length());
113
114 assertEquals(left, right);
115 }
116
117 /**
118 * Test the hashcode
119 */
120 @Test
121 public void hashcodeTest() {
122 assertEquals(32, fixture.hashCode());
123 StringDeclaration a = StringDeclaration.getStringDeclaration(Encoding.ASCII);
124 StringDeclaration b = StringDeclaration.getStringDeclaration();
125 StringDeclaration c = StringDeclaration.getStringDeclaration(Encoding.UTF8);
126 StringDeclaration d = StringDeclaration.getStringDeclaration(Encoding.ASCII);
127 assertEquals(b.hashCode(), c.hashCode());
128 assertEquals(a.hashCode(), d.hashCode());
129 assertEquals(a.hashCode(), a.hashCode());
130 }
131
132 /**
133 * Test the equals
134 */
135 @Test
136 public void equalsTest() {
137 StringDeclaration a = StringDeclaration.getStringDeclaration(Encoding.ASCII);
138 StringDeclaration b = StringDeclaration.getStringDeclaration(Encoding.UTF8);
139 StringDeclaration c = StringDeclaration.getStringDeclaration(Encoding.UTF8);
140 StringDeclaration d = StringDeclaration.getStringDeclaration(Encoding.ASCII);
141 assertNotEquals(a, null);
142 assertNotEquals(a, new Object());
143 assertNotEquals(a, b);
144 assertNotEquals(a, c);
145 assertEquals(a, d);
146 assertNotEquals(b, a);
147 assertNotEquals(c, a);
148 assertEquals(d, a);
149 assertEquals(a, a);
150 }
151 }
This page took 0.033864 seconds and 5 git commands to generate.