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 * Marc-Andre Laperle - Initial API and implementation
11 * Matthew Khouzam - Added timestamp string tests
12 * Patrick Tasse - Updated for fraction of second
13 *******************************************************************************/
15 package org
.eclipse
.linuxtools
.tmf
.core
.tests
.event
;
17 import static org
.junit
.Assert
.assertEquals
;
19 import java
.text
.ParseException
;
20 import java
.util
.TimeZone
;
22 import org
.eclipse
.core
.runtime
.preferences
.IEclipsePreferences
;
23 import org
.eclipse
.core
.runtime
.preferences
.InstanceScope
;
24 import org
.eclipse
.linuxtools
.internal
.tmf
.core
.Activator
;
25 import org
.eclipse
.linuxtools
.tmf
.core
.timestamp
.ITmfTimePreferencesConstants
;
26 import org
.eclipse
.linuxtools
.tmf
.core
.timestamp
.TmfTimePreferences
;
27 import org
.eclipse
.linuxtools
.tmf
.core
.timestamp
.TmfTimestampFormat
;
28 import org
.junit
.Test
;
29 import org
.osgi
.service
.prefs
.BackingStoreException
;
32 * Test suite for the TmfTimestampFormat class.
34 public class TmfTimestampFormatTest
{
36 private static final String TEST_PATTERN
= "HH:mm:ss.SSS";
37 private static final TimeZone TEST_TIME_ZONE
= TimeZone
.getTimeZone(TimeZone
.getAvailableIDs(0)[0]);
38 private static final TimeZone GMT
= TimeZone
.getTimeZone("GMT");
40 private static final TmfTimestampFormat tsf
= new TmfTimestampFormat("yyyy-MM-dd HH:mm:ss.SSSSSSSSS", GMT
);
41 private static final TmfTimestampFormat tsf1
= new TmfTimestampFormat(TEST_PATTERN
);
42 private static final TmfTimestampFormat tsf2
= new TmfTimestampFormat(TEST_PATTERN
, TEST_TIME_ZONE
);
45 * Test that the default value is loaded when using the default constructor
48 public void testDefaultConstructor() {
49 TmfTimestampFormat ts0
= new TmfTimestampFormat();
50 assertEquals("HH:mm:ss.SSS SSS SSS", ts0
.toPattern());
54 * Test that the value constructor properly assigns the value
57 public void testValueConstructor() {
58 assertEquals(TEST_PATTERN
, tsf1
.toPattern());
62 * Test that the value constructor using a time zone properly assigns the
63 * pattern and time zone
66 public void testValueTimeZoneConstructor() {
67 assertEquals(TEST_PATTERN
, tsf2
.toPattern());
68 assertEquals(TEST_TIME_ZONE
, tsf2
.getTimeZone());
72 * Make sure that the default formats in TmfTimestampFormat get updated when
73 * updateDefaultFormats is called.
76 public void testUpdateDefaultFormats() {
77 IEclipsePreferences node
= InstanceScope
.INSTANCE
.getNode(Activator
.PLUGIN_ID
);
79 String dateTimeTestValue
= ITmfTimePreferencesConstants
.TIME_HOUR_FMT
+ ":";
80 node
.put(ITmfTimePreferencesConstants
.DATIME
, dateTimeTestValue
);
82 String subSecTestValue
= ITmfTimePreferencesConstants
.SUBSEC_NANO_FMT
+ ":";
83 node
.put(ITmfTimePreferencesConstants
.SUBSEC
, subSecTestValue
);
86 } catch (BackingStoreException e
) {
88 TmfTimestampFormat
.updateDefaultFormats();
89 String expected
= dateTimeTestValue
+ "." + subSecTestValue
;
90 String expected2
= "TTT." + subSecTestValue
;
91 assertEquals(expected
, TmfTimestampFormat
.getDefaulTimeFormat().toPattern());
92 assertEquals(expected2
, TmfTimestampFormat
.getDefaulIntervalFormat().toPattern());
94 node
.put(ITmfTimePreferencesConstants
.DATIME
, ITmfTimePreferencesConstants
.TIME_HOUR_FMT
);
95 node
.put(ITmfTimePreferencesConstants
.SUBSEC
, ITmfTimePreferencesConstants
.SUBSEC_NANO_FMT
);
98 } catch (BackingStoreException e
) {
100 TmfTimestampFormat
.updateDefaultFormats();
104 * Test that getDefaulTimeFormat returns the appropriate value (from the
108 public void testGetDefaulTimeFormat() {
109 assertEquals(TmfTimestampFormat
.getDefaulTimeFormat().toPattern(), TmfTimePreferences
.getTimePattern());
113 * Test that getDefaulIntervalFormat returns the appropriate value (from the
117 public void testGetDefaulIntervalFormat() {
118 assertEquals(TmfTimestampFormat
.getDefaulIntervalFormat().toPattern(), TmfTimePreferences
.getIntervalPattern());
122 * Test parsing of seconds and sub-seconds
124 * @throws ParseException
125 * should not happen, if it does, the test is a failure
128 public void testParseSeconds() throws ParseException
{
129 assertEquals(7777777777123456789L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7777777777.123456789"));
130 assertEquals(7777777777123456789L, new TmfTimestampFormat("T.SSSSSSSSS").parseValue("7777777777.123456789"));
131 assertEquals(7123456789L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("0000000007.123456789"));
132 assertEquals(7123456789L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7.123456789"));
133 assertEquals(7123456780L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7.12345678"));
134 assertEquals(7123456700L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7.1234567"));
135 assertEquals(7123456000L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7.123456"));
136 assertEquals(7123450000L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7.12345"));
137 assertEquals(7123400000L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7.1234"));
138 assertEquals(7123000000L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7.123"));
139 assertEquals(7120000000L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7.12"));
140 assertEquals(7100000000L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7.1"));
141 assertEquals(7000000000L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7."));
142 assertEquals(7000000000L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue("7"));
143 assertEquals(123456789L, new TmfTimestampFormat("TTTTTTTTTT.SSSSSSSSS").parseValue(".123456789"));
144 assertEquals(123456789L, new TmfTimestampFormat(".SSSSSSSSS").parseValue(".123456789"));
145 assertEquals(123456780L, new TmfTimestampFormat(".SSSSSSSS").parseValue(".123456789"));
146 assertEquals(123456700L, new TmfTimestampFormat(".SSSSSSS").parseValue(".123456789"));
147 assertEquals(123456000L, new TmfTimestampFormat(".SSSSSS").parseValue(".123456789"));
148 assertEquals(123450000L, new TmfTimestampFormat(".SSSSS").parseValue(".123456789"));
149 assertEquals(123400000L, new TmfTimestampFormat(".SSSS").parseValue(".123456789"));
150 assertEquals(123000000L, new TmfTimestampFormat(".SSS").parseValue(".123456789"));
151 assertEquals(120000000L, new TmfTimestampFormat(".SS").parseValue(".123456789"));
152 assertEquals(100000000L, new TmfTimestampFormat(".S").parseValue(".123456789"));
153 assertEquals(7123456789L, new TmfTimestampFormat("T.SSSSSSSSS").parseValue("7.123456789"));
154 assertEquals(7123456789L, new TmfTimestampFormat("T.SSS SSS SSS").parseValue("7.123 456 789"));
155 assertEquals(7123456789L, new TmfTimestampFormat("T.SSS SSS SSS").parseValue("7.123456789"));
156 assertEquals(7123456789L, new TmfTimestampFormat("T.SSS.SSS.SSS").parseValue("7.123.456.789"));
157 assertEquals(7123456789L, new TmfTimestampFormat("T.SSS.SSS.SSS").parseValue("7.123456789"));
158 assertEquals(7123456789L, new TmfTimestampFormat("T.SSS,SSS,SSS").parseValue("7.123,456,789"));
159 assertEquals(7123456789L, new TmfTimestampFormat("T.SSS,SSS,SSS").parseValue("7.123456789"));
160 assertEquals(7123456789L, new TmfTimestampFormat("T.SSS-SSS-SSS").parseValue("7.123-456-789"));
161 assertEquals(7123456789L, new TmfTimestampFormat("T.SSS-SSS-SSS").parseValue("7.123456789"));
162 assertEquals(7123456789L, new TmfTimestampFormat("T.SSS_SSS_SSS").parseValue("7.123_456_789"));
163 assertEquals(7123456789L, new TmfTimestampFormat("T.SSS_SSS_SSS").parseValue("7.123456789"));
164 assertEquals(7123456789L, new TmfTimestampFormat("T.SSS:SSS:SSS").parseValue("7.123:456:789"));
165 assertEquals(7123456789L, new TmfTimestampFormat("T.SSS:SSS:SSS").parseValue("7.123456789"));
166 assertEquals(7123456789L, new TmfTimestampFormat("T.SSS;SSS;SSS").parseValue("7.123;456;789"));
167 assertEquals(7123456789L, new TmfTimestampFormat("T.SSS;SSS;SSS").parseValue("7.123456789"));
168 assertEquals(7123456789L, new TmfTimestampFormat("T.SSS/SSS/SSS").parseValue("7.123/456/789"));
169 assertEquals(7123456789L, new TmfTimestampFormat("T.SSS/SSS/SSS").parseValue("7.123456789"));
170 assertEquals(7123456789L, new TmfTimestampFormat("T.SSS''SSS''SSS").parseValue("7.123'456'789"));
171 assertEquals(7123456789L, new TmfTimestampFormat("T.SSS''SSS''SSS").parseValue("7.123456789"));
172 assertEquals(7123456789L, new TmfTimestampFormat("T.SSS\"SSS\"SSS").parseValue("7.123\"456\"789"));
173 assertEquals(7123456789L, new TmfTimestampFormat("T.SSS\"SSS\"SSS").parseValue("7.123456789"));
174 assertEquals(7000000000L, new TmfTimestampFormat("T. SSSSSSSSS").parseValue("7..123456789"));
175 assertEquals(7100000000L, new TmfTimestampFormat("T.S SSSSSSSS").parseValue("7.1,23456789"));
176 assertEquals(7120000000L, new TmfTimestampFormat("T.SS SSSSSSS").parseValue("7.12-3456789"));
177 assertEquals(7123000000L, new TmfTimestampFormat("T.SSS SSSSSS").parseValue("7.123_456789"));
178 assertEquals(7123400000L, new TmfTimestampFormat("T.SSSS SSSSS").parseValue("7.1234:56789"));
179 assertEquals(7123450000L, new TmfTimestampFormat("T.SSSSS SSSS").parseValue("7.12345;6789"));
180 assertEquals(7123456000L, new TmfTimestampFormat("T.SSSSSS SSS").parseValue("7.123456/789"));
181 assertEquals(7123456700L, new TmfTimestampFormat("T.SSSSSSS SS").parseValue("7.1234567'89"));
182 assertEquals(7123456780L, new TmfTimestampFormat("T.SSSSSSSS S").parseValue("7.12345678\"9"));
183 assertEquals(7123456789L, new TmfTimestampFormat("T 's'.SSS ms SSS us SSS ns").parseValue("7 s.123 ms 456 us 789 ns"));
184 assertEquals(7123456789L, new TmfTimestampFormat("T 'S'.SSS 'MS' SSS 'US' SSS 'NS'").parseValue("7 S.123 MS 456 US 789 NS"));
185 assertEquals(7123000000L, new TmfTimestampFormat("T.SSSSSSSSS").parseValue("7 s.123 ms 456 ns 789"));
186 assertEquals(0L, new TmfTimestampFormat("T.").parseValue("0.123456789"));
187 assertEquals(0L, new TmfTimestampFormat("T.S").parseValue("."));
188 assertEquals(0L, new TmfTimestampFormat(".S").parseValue("7."));
189 assertEquals(0L, new TmfTimestampFormat("T.S").parseValue("-."));
190 assertEquals(0L, new TmfTimestampFormat("T.S").parseValue("-0"));
191 assertEquals(-100000000L, new TmfTimestampFormat("T.S").parseValue("-0.1"));
192 assertEquals(-100000000L, new TmfTimestampFormat("T.S").parseValue("-.1"));
193 assertEquals(-7000000000L, new TmfTimestampFormat("T.S").parseValue("-7"));
194 assertEquals(-7000000000L, new TmfTimestampFormat("T.S").parseValue("-7."));
195 assertEquals(-7000000000L, new TmfTimestampFormat("T.S").parseValue("-7.0"));
196 assertEquals(-7100000000L, new TmfTimestampFormat("T.S").parseValue("-7.1"));
200 * Test parsing of date and time patterns
202 * @throws ParseException
203 * should not happen, if it does, the test is a failure
206 public void testParseDateTime() throws ParseException
{
207 // long ref = tsf.parseValue("2014-11-22 12:34:56.123456789"); // Saturday
210 time
= new TmfTimestampFormat("yyyy", GMT
).parseValue("2014");
211 assertEquals("2014-01-01 00:00:00.000000000", tsf
.format(time
));
213 time
= new TmfTimestampFormat("YYYY", GMT
).parseValue("2014");
214 assertEquals("2013-12-29 00:00:00.000000000", tsf
.format(time
)); // 1st day of week 1
216 time
= new TmfTimestampFormat("MM", GMT
).parseValue("11");
217 assertEquals("1970-11-01 00:00:00.000000000", tsf
.format(time
));
219 time
= new TmfTimestampFormat("ww", GMT
).parseValue("01");
220 assertEquals("1969-12-28 00:00:00.000000000", tsf
.format(time
)); // Sunday of week 1
222 time
= new TmfTimestampFormat("DDD", GMT
).parseValue("100");
223 assertEquals("1970-04-10 00:00:00.000000000", tsf
.format(time
));
225 time
= new TmfTimestampFormat("F", GMT
).parseValue("2");
226 assertEquals("1970-01-11 00:00:00.000000000", tsf
.format(time
)); // 2nd Sunday of month
228 time
= new TmfTimestampFormat("EEE", GMT
).parseValue("Mon");
229 assertEquals("1970-01-05 00:00:00.000000000", tsf
.format(time
));
231 time
= new TmfTimestampFormat("u", GMT
).parseValue("1");
232 assertEquals("1970-01-05 00:00:00.000000000", tsf
.format(time
));
234 time
= new TmfTimestampFormat("dd", GMT
).parseValue("22");
235 assertEquals("1970-01-22 00:00:00.000000000", tsf
.format(time
));
237 time
= new TmfTimestampFormat("HH", GMT
).parseValue("12");
238 assertEquals("1970-01-01 12:00:00.000000000", tsf
.format(time
));
240 time
= new TmfTimestampFormat("kk", GMT
).parseValue("24");
241 assertEquals("1970-01-01 00:00:00.000000000", tsf
.format(time
));
243 time
= new TmfTimestampFormat("KK", GMT
).parseValue("12");
244 assertEquals("1970-01-01 12:00:00.000000000", tsf
.format(time
));
246 time
= new TmfTimestampFormat("hh", GMT
).parseValue("12");
247 assertEquals("1970-01-01 00:00:00.000000000", tsf
.format(time
));
249 time
= new TmfTimestampFormat("mm", GMT
).parseValue("34");
250 assertEquals("1970-01-01 00:34:00.000000000", tsf
.format(time
));
252 time
= new TmfTimestampFormat("ss", GMT
).parseValue("56");
253 assertEquals("1970-01-01 00:00:56.000000000", tsf
.format(time
));
255 time
= new TmfTimestampFormat("yyyy-MM", GMT
).parseValue("2014-11");
256 assertEquals("2014-11-01 00:00:00.000000000", tsf
.format(time
));
258 time
= new TmfTimestampFormat("yyyy-MM-dd", GMT
).parseValue("2014-11-22");
259 assertEquals("2014-11-22 00:00:00.000000000", tsf
.format(time
));
261 time
= new TmfTimestampFormat("yyyy-MM-dd HH", GMT
).parseValue("2014-11-22 12");
262 assertEquals("2014-11-22 12:00:00.000000000", tsf
.format(time
));
264 time
= new TmfTimestampFormat("yyyy-MM-dd HH:mm", GMT
).parseValue("2014-11-22 12:34");
265 assertEquals("2014-11-22 12:34:00.000000000", tsf
.format(time
));
267 time
= new TmfTimestampFormat("yyyy-MM-dd HH:mm:ss", GMT
).parseValue("2014-11-22 12:34:56");
268 assertEquals("2014-11-22 12:34:56.000000000", tsf
.format(time
));
270 time
= new TmfTimestampFormat("yyyy-MM-dd HH:mm:ss.SSS", GMT
).parseValue("2014-11-22 12:34:56.123");
271 assertEquals("2014-11-22 12:34:56.123000000", tsf
.format(time
));
273 time
= new TmfTimestampFormat("yyyy-ww", GMT
).parseValue("2014-01");
274 assertEquals("2013-12-29 00:00:00.000000000", tsf
.format(time
)); // Sunday of week 1
276 time
= new TmfTimestampFormat("yyyy-DDD", GMT
).parseValue("2014-100");
277 assertEquals("2014-04-10 00:00:00.000000000", tsf
.format(time
));
279 time
= new TmfTimestampFormat("yyyy-MM-F", GMT
).parseValue("2014-11-2");
280 assertEquals("2014-11-09 00:00:00.000000000", tsf
.format(time
)); // 2nd Sunday of month
282 time
= new TmfTimestampFormat("yyyy-MM-EEE", GMT
).parseValue("2014-11-Mon");
283 assertEquals("2014-11-03 00:00:00.000000000", tsf
.format(time
));
285 time
= new TmfTimestampFormat("yyyy-MM-u", GMT
).parseValue("2014-11-1");
286 assertEquals("2014-11-03 00:00:00.000000000", tsf
.format(time
));
288 time
= new TmfTimestampFormat("yyyy MM dd HH mm ss SSS SSS SSS", GMT
).parseValue("2014 11 22 12 34 56 123 456 789");
289 assertEquals("2014-11-22 12:34:56.123456789", tsf
.format(time
));
291 time
= new TmfTimestampFormat("yyyy.MM.dd.HH.mm.ss.SSS.SSS.SSS", GMT
).parseValue("2014.11.22.12.34.56.123.456.789");
292 assertEquals("2014-11-22 12:34:56.123456789", tsf
.format(time
));
294 time
= new TmfTimestampFormat("yyyy,MM,dd,HH,mm,ss,SSS,SSS,SSS", GMT
).parseValue("2014,11,22,12,34,56,123,456,789");
295 assertEquals("2014-11-22 12:34:56.123456789", tsf
.format(time
));
297 time
= new TmfTimestampFormat("yyyy-MM-dd-HH-mm-ss-SSS-SSS-SSS", GMT
).parseValue("2014-11-22-12-34-56-123-456-789");
298 assertEquals("2014-11-22 12:34:56.123456789", tsf
.format(time
));
300 time
= new TmfTimestampFormat("yyyy_MM_dd_HH_mm_ss_SSS_SSS_SSS", GMT
).parseValue("2014_11_22_12_34_56_123_456_789");
301 assertEquals("2014-11-22 12:34:56.123456789", tsf
.format(time
));
303 time
= new TmfTimestampFormat("yyyy:MM:dd:HH:mm:ss:SSS:SSS:SSS", GMT
).parseValue("2014:11:22:12:34:56:123:456:789");
304 assertEquals("2014-11-22 12:34:56.123456789", tsf
.format(time
));
306 time
= new TmfTimestampFormat("yyyy;MM;dd;HH;mm;ss;SSS;SSS;SSS", GMT
).parseValue("2014;11;22;12;34;56;123;456;789");
307 assertEquals("2014-11-22 12:34:56.123456789", tsf
.format(time
));
309 time
= new TmfTimestampFormat("yyyy/MM/dd/HH/mm/ss/SSS/SSS/SSS", GMT
).parseValue("2014/11/22/12/34/56/123/456/789");
310 assertEquals("2014-11-22 12:34:56.123456789", tsf
.format(time
));
312 time
= new TmfTimestampFormat("yyyy''MM''dd''HH''mm''ss''SSS''SSS''SSS", GMT
).parseValue("2014'11'22'12'34'56'123'456'789");
313 assertEquals("2014-11-22 12:34:56.123456789", tsf
.format(time
));
315 time
= new TmfTimestampFormat("yyyy\"MM\"dd\"HH\"mm\"ss\"SSS\"SSS\"SSS", GMT
).parseValue("2014\"11\"22\"12\"34\"56\"123\"456\"789");
316 assertEquals("2014-11-22 12:34:56.123456789", tsf
.format(time
));
320 * Test parsing of date and time patterns with reference time
322 * @throws ParseException
323 * should not happen, if it does, the test is a failure
326 public void testParseDateTimeWithRef() throws ParseException
{
327 long ref
= tsf
.parseValue("2014-11-22 12:34:56.123456789"); // Saturday
330 time
= new TmfTimestampFormat("yyyy", GMT
).parseValue("1970", ref
);
331 assertEquals("1970-01-01 00:00:00.000000000", tsf
.format(time
));
333 time
= new TmfTimestampFormat("YYYY", GMT
).parseValue("1970");
334 assertEquals("1969-12-28 00:00:00.000000000", tsf
.format(time
)); // 1st day of week 1
336 time
= new TmfTimestampFormat("MM", GMT
).parseValue("01", ref
);
337 assertEquals("2014-01-01 00:00:00.000000000", tsf
.format(time
));
339 time
= new TmfTimestampFormat("ww", GMT
).parseValue("01", ref
);
340 assertEquals("2014-01-04 00:00:00.000000000", tsf
.format(time
)); // Saturday of week 1
342 time
= new TmfTimestampFormat("DDD", GMT
).parseValue("1", ref
);
343 assertEquals("2014-01-01 00:00:00.000000000", tsf
.format(time
));
345 time
= new TmfTimestampFormat("F", GMT
).parseValue("2", ref
);
346 assertEquals("2014-11-08 00:00:00.000000000", tsf
.format(time
)); // 2nd Saturday of month
348 time
= new TmfTimestampFormat("EEE", GMT
).parseValue("Mon", ref
);
349 assertEquals("2014-11-17 00:00:00.000000000", tsf
.format(time
));
351 time
= new TmfTimestampFormat("u", GMT
).parseValue("1", ref
);
352 assertEquals("2014-11-17 00:00:00.000000000", tsf
.format(time
));
354 time
= new TmfTimestampFormat("dd", GMT
).parseValue("01", ref
);
355 assertEquals("2014-11-01 00:00:00.000000000", tsf
.format(time
));
357 time
= new TmfTimestampFormat("HH", GMT
).parseValue("00", ref
);
358 assertEquals("2014-11-22 00:00:00.000000000", tsf
.format(time
));
360 time
= new TmfTimestampFormat("kk", GMT
).parseValue("24", ref
);
361 assertEquals("2014-11-22 00:00:00.000000000", tsf
.format(time
));
363 time
= new TmfTimestampFormat("KK", GMT
).parseValue("00", ref
);
364 assertEquals("2014-11-22 00:00:00.000000000", tsf
.format(time
));
366 time
= new TmfTimestampFormat("hh", GMT
).parseValue("12", ref
);
367 assertEquals("2014-11-22 00:00:00.000000000", tsf
.format(time
));
369 time
= new TmfTimestampFormat("mm", GMT
).parseValue("00", ref
);
370 assertEquals("2014-11-22 12:00:00.000000000", tsf
.format(time
));
372 time
= new TmfTimestampFormat("ss", GMT
).parseValue("00", ref
);
373 assertEquals("2014-11-22 12:34:00.000000000", tsf
.format(time
));
375 time
= new TmfTimestampFormat(".S", GMT
).parseValue(".0", ref
);
376 assertEquals("2014-11-22 12:34:56.000000000", tsf
.format(time
));
378 time
= new TmfTimestampFormat("T.S", GMT
).parseValue("0.0", ref
);
379 assertEquals("1970-01-01 00:00:00.000000000", tsf
.format(time
));
381 time
= new TmfTimestampFormat("T.S", GMT
).parseValue(".0", ref
);
382 assertEquals("1970-01-01 00:00:00.000000000", tsf
.format(time
));