6dcaffb83793af6f83aa183c3918884e7d9005cb
1 /*******************************************************************************
2 * Copyright (c) 2013, 2014 Ericsson
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
10 * Bernd Hufmann - Initial API and implementation
11 *******************************************************************************/
13 package org
.eclipse
.tracecompass
.tmf
.core
.tests
.event
.lookup
;
15 import static org
.junit
.Assert
.assertEquals
;
16 import static org
.junit
.Assert
.assertFalse
;
17 import static org
.junit
.Assert
.assertTrue
;
19 import org
.eclipse
.tracecompass
.tmf
.core
.event
.lookup
.ITmfCallsite
;
20 import org
.eclipse
.tracecompass
.tmf
.core
.event
.lookup
.TmfCallsite
;
21 import org
.junit
.Test
;
24 * Test suite for the TmfCallsite class.
26 @SuppressWarnings("javadoc")
27 public class TmfCallsiteTest
{
29 // ------------------------------------------------------------------------
31 // ------------------------------------------------------------------------
32 private final static String fFileName1
= "filename1";
33 private final static String fFunctionName1
= "func1";
34 private final static long fLine1
= 10;
36 private final static String fFileName2
= "filename2";
37 private final static String fFunctionName2
= "func2";
38 private final static long fLine2
= 25;
40 private final static String fFileName3
= "filename3";
41 private final static String fFunctionName3
= null;
42 private final static long fLine3
= 123;
44 private final static ITmfCallsite fCallsite1
= new TmfCallsite(fFileName1
, fFunctionName1
, fLine1
);
45 private final static ITmfCallsite fCallsite2
= new TmfCallsite(fFileName2
, fFunctionName2
, fLine2
);
46 private final static ITmfCallsite fCallsite3
= new TmfCallsite(fFileName3
, fFunctionName3
, fLine3
);
48 // ------------------------------------------------------------------------
50 // ------------------------------------------------------------------------
53 public void testDefaultConstructor() {
54 assertEquals(fFileName1
, fCallsite1
.getFileName());
55 assertEquals(fFunctionName1
, fCallsite1
.getFunctionName());
56 assertEquals(fLine1
, fCallsite1
.getLineNumber());
60 public void testCallsiteCopy() {
61 TmfCallsite copy
= new TmfCallsite(fCallsite1
);
63 assertEquals(fFileName1
, copy
.getFileName());
64 assertEquals(fFunctionName1
, copy
.getFunctionName());
65 assertEquals(fLine1
, copy
.getLineNumber());
68 @Test(expected
=IllegalArgumentException
.class)
69 public void testCallsiteCopy2() {
70 new TmfCallsite(null);
73 @Test(expected
=IllegalArgumentException
.class)
74 public void testCallsiteCopy3() {
75 new TmfCallsite(new ITmfCallsite() {
77 public long getLineNumber() {
82 public String
getFunctionName() {
87 public String
getFileName() {
93 @Test(expected
=IllegalArgumentException
.class)
94 public void testCallsiteFileNull() {
95 new TmfCallsite(null, fFunctionName1
, fLine1
);
98 // ------------------------------------------------------------------------
100 // ------------------------------------------------------------------------
103 public void testHashCode() {
104 final ITmfCallsite callsite1b
= new TmfCallsite(fCallsite1
);
105 final ITmfCallsite callsite2b
= new TmfCallsite(fCallsite2
);
107 assertTrue("hashCode", fCallsite1
.hashCode() == callsite1b
.hashCode());
108 assertTrue("hashCode", fCallsite2
.hashCode() == callsite2b
.hashCode());
110 assertTrue("hashCode", fCallsite1
.hashCode() != fCallsite2
.hashCode());
111 assertTrue("hashCode", fCallsite2
.hashCode() != fCallsite1
.hashCode());
114 // ------------------------------------------------------------------------
116 // ------------------------------------------------------------------------
119 public void testEqualsReflexivity() {
120 assertTrue("equals", fCallsite1
.equals(fCallsite1
));
121 assertTrue("equals", fCallsite2
.equals(fCallsite2
));
123 assertFalse("equals", fCallsite1
.equals(fCallsite2
));
124 assertFalse("equals", fCallsite2
.equals(fCallsite1
));
128 public void testEqualsSymmetry() {
129 final ITmfCallsite callsite1
= new TmfCallsite(fCallsite1
);
130 final ITmfCallsite callsite2
= new TmfCallsite(fCallsite2
);
132 assertTrue("equals", callsite1
.equals(fCallsite1
));
133 assertTrue("equals", fCallsite1
.equals(callsite1
));
135 assertTrue("equals", callsite2
.equals(fCallsite2
));
136 assertTrue("equals", fCallsite2
.equals(callsite2
));
140 public void testEqualsTransivity() {
141 final ITmfCallsite callsite1
= new TmfCallsite(fCallsite1
);
142 final ITmfCallsite callsite2
= new TmfCallsite(fCallsite1
);
143 final ITmfCallsite callsite3
= new TmfCallsite(fCallsite1
);
145 assertTrue("equals", callsite1
.equals(callsite2
));
146 assertTrue("equals", callsite2
.equals(callsite3
));
147 assertTrue("equals", callsite1
.equals(callsite3
));
151 public void testEqualsNull() {
152 assertFalse("equals", fCallsite1
.equals(null));
153 assertFalse("equals", fCallsite2
.equals(null));
154 assertFalse("equals", fCallsite3
.equals(null));
158 public void testNonEqualClasses() {
159 assertFalse("equals", fCallsite1
.equals(fCallsite1
.getFileName()));
163 public void testNullElements() {
164 ITmfCallsite callsite
= new TmfCallsite(fFileName1
, null, fLine1
);
165 assertFalse("equals", fCallsite1
.equals(callsite
));
166 assertFalse("equals", callsite
.equals(fCallsite1
));
169 // ------------------------------------------------------------------------
171 // ------------------------------------------------------------------------
174 public void testToString() {
175 assertEquals("toString", "filename1:10 func1()", fCallsite1
.toString());
176 assertEquals("toString", "filename2:25 func2()", fCallsite2
.toString());
177 assertEquals("toString", "filename3:123", fCallsite3
.toString());
This page took 0.038152 seconds and 4 git commands to generate.