be25a3f8d42bc37ee83f3f1db6b99487a25061a7
[deliverable/tracecompass.git] / org.eclipse.linuxtools.ctf.core.tests / src / org / eclipse / linuxtools / ctf / core / tests / event / CTFCallsiteTest.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.linuxtools.ctf.core.tests.event;
13
14 import static org.junit.Assert.assertEquals;
15 import static org.junit.Assert.assertFalse;
16 import static org.junit.Assert.assertNotNull;
17 import static org.junit.Assert.assertTrue;
18
19 import java.util.Arrays;
20 import java.util.HashMap;
21 import java.util.Map;
22
23 import org.eclipse.linuxtools.ctf.core.event.CTFCallsite;
24 import org.junit.Test;
25
26 /**
27 * The class <code>CTFCallsiteTest</code> contains tests for the class
28 * <code>{@link CTFCallsite}</code>.
29 *
30 * @author Matthew Khouzam
31 * @version $Revision: 1.0 $
32 */
33
34 public class CTFCallsiteTest {
35
36 private static CTFCallsite GenerateCS(long ip){
37 return new CTFCallsite("event name", "func name", ip, "file.java", 1);
38 }
39
40 /**
41 * Test the constructor
42 */
43 @Test
44 public void constructorTest(){
45 CTFCallsite cs = GenerateCS(0x01);
46 assertNotNull(cs);
47 }
48
49 /**
50 * Test the getters
51 */
52 @Test
53 public void getterTest(){
54 CTFCallsite cs = GenerateCS(0x01);
55 assertEquals("ip", 1, cs.getIp());
56 assertEquals("ip", "event name", cs.getEventName());
57 assertEquals("ip", "file.java", cs.getFileName());
58 assertEquals("ip", "func name", cs.getFunctionName());
59 }
60
61 /**
62 * Test the hash code
63 */
64 @Test
65 public void hashCodeTest(){
66 CTFCallsite cs = GenerateCS(0x01);
67 Map<CTFCallsite, Object> test = new HashMap<>();
68 test.put(cs, new Object());
69 assertTrue(test.containsKey(cs));
70 assertTrue(test.containsKey(GenerateCS(0x01)));
71 assertFalse(test.containsKey(GenerateCS(0x02)));
72 assertFalse(test.containsKey(new CTFCallsite("event nam", "func name", 1, "file.java", 1)));
73 assertFalse(test.containsKey(new CTFCallsite("event name", "func nam", 1, "file.java", 1)));
74 assertFalse(test.containsKey(new CTFCallsite("event name", "func name", 1, "file.jav", 1)));
75 assertFalse(test.containsKey(new CTFCallsite("event name", "func name", 1, "file.java", 2)));
76 }
77
78 /**
79 * Test the comparator (it should sort using the IP)
80 */
81 @Test
82 public void comparatorTest(){
83 CTFCallsite cs[] = new CTFCallsite[5];
84 long vals[] = {1L, 0L, -2L, 2L, -1L};
85 for(int i = 0 ; i < 5 ; i++ ){
86 cs[i] = GenerateCS(vals[i]);
87 }
88
89 assertEquals(1, cs[0].compareTo(cs[1]));
90 assertEquals(-1, cs[1].compareTo(cs[0]));
91 assertEquals(0, cs[0].compareTo(cs[0]));
92 assertEquals(-1, cs[0].compareTo(cs[2]));
93 assertEquals(1, cs[2].compareTo(cs[0]));
94
95 Arrays.sort(cs);
96
97 assertEquals( 0L, cs[0].getIp());
98 assertEquals( 1L, cs[1].getIp());
99 assertEquals( 2L, cs[2].getIp());
100 assertEquals( -2L , cs[3].getIp());
101 assertEquals( -1L, cs[4].getIp());
102 }
103
104 /**
105 * Tests the output of a callsite toString function
106 */
107 @Test
108 public void toStringTest(){
109 CTFCallsite cs = GenerateCS(0x01);
110 assertEquals("file.java/func name:1", cs.toString());
111 }
112 }
This page took 0.041442 seconds and 4 git commands to generate.