Make test plugins fragments.
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng.core.tests / src / org / eclipse / linuxtools / lttng / core / tests / event / LttngTimestampTest.java
CommitLineData
6c13869b 1package org.eclipse.linuxtools.lttng.core.tests.event;
03c71d1e 2
e1ab8984
FC
3import java.io.File;
4import java.net.URL;
5
03c71d1e 6import junit.framework.TestCase;
cbd4ad82 7
e1ab8984
FC
8import org.eclipse.core.runtime.FileLocator;
9import org.eclipse.core.runtime.Path;
5945cec9
FC
10import org.eclipse.linuxtools.internal.lttng.core.event.LttngTimestamp;
11import org.eclipse.linuxtools.internal.lttng.core.trace.LTTngTextTrace;
6c13869b 12import org.eclipse.linuxtools.tmf.core.trace.TmfContext;
9269df72 13import org.osgi.framework.FrameworkUtil;
03c71d1e
ASL
14
15/*
16 Functions tested here :
a610acec
FC
17 public LttngTimestamp()
18 public LttngTimestamp(long newEventTime)
19 public LttngTimestamp(TmfTimestamp oldEventTime)
20
21 public long getValue()
22 public String getSeconds()
23 public String getNanoSeconds()
24
25 public void setValue(long newValue)
26
27 public String toString()
03c71d1e
ASL
28 */
29
3b38ea61 30@SuppressWarnings("nls")
03c71d1e 31public class LttngTimestampTest extends TestCase {
a610acec
FC
32 private final static String tracepath1 = "traceset/trace-15316events_nolost_newformat.txt";
33 private final static boolean skipIndexing = true;
34
35 private final static String firstEventTimeSecond = "13589";
36 private final static String firstEventTimeNano = "759412128";
37 private final static long firstEventTimeFull = 13589759412128L;
38
e1ab8984 39 private static LTTngTextTrace testStream = null;
a610acec 40
03c71d1e 41 private LTTngTextTrace initializeEventStream() {
a610acec
FC
42 if (testStream == null) {
43 try {
9269df72 44 URL location = FileLocator.find(FrameworkUtil.getBundle(this.getClass()), new Path(tracepath1), null);
a610acec 45 File testfile = new File(FileLocator.toFileURL(location).toURI());
0710697b 46 LTTngTextTrace tmpStream = new LTTngTextTrace(testfile.getName(), testfile.getPath(), skipIndexing);
a610acec
FC
47 testStream = tmpStream;
48 } catch (Exception e) {
49 System.out.println("ERROR : Could not open " + tracepath1);
50 testStream = null;
51 }
52 }
53 return testStream;
54 }
e1ab8984 55
03c71d1e
ASL
56 private LttngTimestamp prepareToTest() {
57 LttngTimestamp tmpTime = null;
58
59 // This trace should be valid
60 try {
61 LTTngTextTrace tmpStream = initializeEventStream();
a610acec
FC
62 tmpTime = (LttngTimestamp) tmpStream.getNextEvent(new TmfContext(null, 0)).getTimestamp();
63 } catch (Exception e) {
03c71d1e
ASL
64 fail("ERROR : Failed to get reference!");
65 }
66
67 return tmpTime;
68 }
a610acec 69
03c71d1e
ASL
70 public void testConstructors() {
71 LttngTimestamp tmpTime = null;
a610acec 72
a5ec08e5
WB
73 // Default construction with no argument
74 try {
75 tmpTime = new LttngTimestamp();
a610acec 76 } catch (Exception e) {
a5ec08e5
WB
77 fail("Construction failed!");
78 }
a610acec 79
03c71d1e
ASL
80 // Default construction with good argument
81 try {
82 tmpTime = new LttngTimestamp(1);
a610acec 83 } catch (Exception e) {
03c71d1e
ASL
84 fail("Construction failed!");
85 }
a610acec 86
03c71d1e
ASL
87 // Copy constructor
88 try {
89 tmpTime = new LttngTimestamp(1);
f9a8715c 90 new LttngTimestamp(tmpTime);
a610acec 91 } catch (Exception e) {
03c71d1e
ASL
92 fail("Construction failed!");
93 }
94 }
a610acec 95
cb866e08
FC
96 public void testGetter() {
97 LttngTimestamp tmpTime = prepareToTest();
a610acec
FC
98
99 assertEquals("Time in second is wrong", firstEventTimeSecond, tmpTime.getSeconds());
100 assertEquals("Time in nano second is wrong", firstEventTimeNano, tmpTime.getNanoSeconds());
101
102 assertEquals("Full time is wrong", firstEventTimeFull, tmpTime.getValue());
cb866e08 103 }
a610acec 104
cb866e08
FC
105 public void testSetter() {
106 LttngTimestamp tmpTime = prepareToTest();
a610acec 107
cb866e08
FC
108 // We will set a time and we will make sure the set is working then
109 tmpTime.setValue(1);
a610acec 110 assertEquals("Full time is wrong after set", 1, tmpTime.getValue());
cb866e08 111 }
a610acec 112
cb866e08
FC
113 public void testToString() {
114 LttngTimestamp tmpTime = prepareToTest();
a610acec 115
cb866e08 116 // Just make sure toString() does not return null or the java reference
a610acec
FC
117 assertNotSame("toString returned null", null, tmpTime.toString());
118 assertNotSame("toString is not overridded!", tmpTime.getClass().getName() + '@' + Integer.toHexString(tmpTime.hashCode()), tmpTime.toString());
cb866e08 119 }
a610acec
FC
120
121 // Better test...
122 public void testToString2() {
123 LttngTimestamp ts1 = new LttngTimestamp(2064357056377L);
124 String expectedTS1 = "2064.357056377";
125
126 LttngTimestamp ts2 = new LttngTimestamp(1L);
127 String expectedTS2 = "0.000000001";
128
129 LttngTimestamp ts3 = new LttngTimestamp(123456789L);
130 String expectedTS3 = "0.123456789";
131
132 LttngTimestamp ts4 = new LttngTimestamp(1234567890L);
133 String expectedTS4 = "1.234567890";
134
135 assertEquals("toString()", expectedTS1, ts1.toString());
136 assertEquals("toString()", expectedTS2, ts2.toString());
137 assertEquals("toString()", expectedTS3, ts3.toString());
138 assertEquals("toString()", expectedTS4, ts4.toString());
73005152
BH
139
140 LttngTimestamp ts5 = new LttngTimestamp(2234567890L);
141 LttngTimestamp delta = ts4.getDelta(ts5);
142 String expectedDelta = "-1.000000000";
143 assertEquals("toString()", expectedDelta, delta.toString());
a610acec 144 }
03c71d1e 145}
This page took 0.04039 seconds and 5 git commands to generate.