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
9 * Matthew Khouzam - Initial API and implementation
10 *******************************************************************************/
12 package org
.eclipse
.tracecompass
.ctf
.core
.tests
.types
;
14 import static org
.junit
.Assert
.assertEquals
;
15 import static org
.junit
.Assert
.assertNotEquals
;
16 import static org
.junit
.Assert
.assertNotNull
;
18 import java
.nio
.ByteBuffer
;
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
;
30 * The class <code>StringDeclarationTest</code> contains tests for the class
31 * <code>{@link StringDeclaration}</code>.
34 * @version $Revision: 1.0 $
36 public class StringDeclarationTest
{
38 private StringDeclaration fixture
;
41 * Perform pre-test initialization.
45 fixture
= StringDeclaration
.getStringDeclaration(Encoding
.ASCII
);
49 * Run the StringDeclaration() constructor test.
52 public void testStringDeclaration() {
53 StringDeclaration result
= StringDeclaration
.getStringDeclaration(Encoding
.UTF8
);
55 assertNotNull(result
);
56 String string
= "[declaration] string[";
57 assertEquals(string
, result
.toString().substring(0, string
.length()));
61 * Run the StringDeclaration(Encoding) constructor test.
64 public void testStringDeclaration_2() {
65 Encoding encoding
= Encoding
.ASCII
;
66 StringDeclaration result
= StringDeclaration
.getStringDeclaration(encoding
);
68 assertNotNull(result
);
69 String string
= "[declaration] string[";
70 assertEquals(string
, result
.toString().substring(0, string
.length()));
74 * Run the StringDefinition createDefinition(DefinitionScope,String) method
77 * @throws CTFException
78 * out of buffer exception
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
,
89 assertNotNull(result
);
93 * Run the Encoding getEncoding() method test.
96 public void testGetEncoding() {
97 Encoding result
= fixture
.getEncoding();
99 assertNotNull(result
);
100 assertEquals("ASCII", result
.name());
101 assertEquals("ASCII", result
.toString());
102 assertEquals(1, result
.ordinal());
106 * Run the String toString() method test.
109 public void testToString() {
110 String result
= fixture
.toString();
111 String left
= "[declaration] string[";
112 String right
= result
.substring(0, left
.length());
114 assertEquals(left
, right
);
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());
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
);
146 assertNotEquals(b
, a
);
147 assertNotEquals(c
, a
);