Move alltests plugin to the Trace Compass namespace
[deliverable/tracecompass.git] / org.eclipse.tracecompass.tmf.core.tests / src / org / eclipse / linuxtools / tmf / core / tests / event / TmfTimePreferencesTest.java
CommitLineData
c1cd9635 1/*******************************************************************************
60ae41e1 2 * Copyright (c) 2013, 2014 Ericsson
c1cd9635
MAL
3 *
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
8 *
9 * Contributors:
10 * Marc-Andre Laperle - Initial API and implementation
11 *******************************************************************************/
12
13package org.eclipse.linuxtools.tmf.core.tests.event;
14
15import static org.junit.Assert.assertEquals;
7bab46e6 16import static org.junit.Assert.assertNotNull;
c1cd9635
MAL
17
18import java.util.Map;
19import java.util.TimeZone;
20
21import org.eclipse.core.runtime.preferences.DefaultScope;
22import org.eclipse.core.runtime.preferences.IEclipsePreferences;
23import org.eclipse.core.runtime.preferences.InstanceScope;
24import org.eclipse.linuxtools.internal.tmf.core.Activator;
25import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimePreferencesConstants;
26import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimePreferences;
27import org.junit.Test;
28import org.osgi.service.prefs.BackingStoreException;
29
30/**
31 * Test suite for the TmfTimePreferences class.
32 */
33public class TmfTimePreferencesTest {
34
030f8f1f
PT
35 private static final String TIME_PATTERN = "HH:mm:ss.SSS SSS SSS";
36 private static final String INTERVAL_PATTERN = "TTT.SSS SSS SSS";
c1cd9635
MAL
37
38 /**
39 * Test that the preferences get initialized to the default
40 */
41 @Test
42 public void testInit() {
43 assertEquals(DefaultScope.INSTANCE.getNode(Activator.PLUGIN_ID).get(ITmfTimePreferencesConstants.DATIME, null), ITmfTimePreferencesConstants.TIME_HOUR_FMT);
44 }
45
7bab46e6
AM
46 /**
47 * Test that getInstance returns an instance
48 */
49 @Test
50 public void testGetInstance() {
51 assertNotNull(TmfTimePreferences.getInstance());
52 }
53
c1cd9635
MAL
54 /**
55 * Test that getTimePattern returns the appropriate time pattern (from the default)
56 */
57 @Test
58 public void testGetTimePattern() {
7bab46e6 59 assertEquals(TIME_PATTERN, TmfTimePreferences.getInstance().getTimePattern());
c1cd9635
MAL
60 }
61
62 /**
63 * Test that getIntervalPattern returns the appropriate interval pattern (from the default)
64 */
65 @Test
66 public void testGetIntervalPattern() {
7bab46e6 67 assertEquals(INTERVAL_PATTERN, TmfTimePreferences.getInstance().getIntervalPattern());
c1cd9635
MAL
68 }
69
70 /**
71 * Test that getTimeZone returns the appropriate time zone (from the default)
72 */
73 @Test
74 public void testGetTimeZone() {
7bab46e6 75 assertEquals(TimeZone.getDefault(), TmfTimePreferences.getInstance().getTimeZone());
c1cd9635
MAL
76 }
77
78 /**
79 * Test that getPreferenceMap returns the appropriate map even after preferences get modified
80 * and make sure it doesn't affect the defaults
81 */
82 @Test
83 public void testGetPreferenceMap() {
7bab46e6 84 Map<String, String> defaultPreferenceMap = TmfTimePreferences.getInstance().getDefaultPreferenceMap();
c1cd9635
MAL
85 assertEquals(ITmfTimePreferencesConstants.TIME_HOUR_FMT, defaultPreferenceMap.get(ITmfTimePreferencesConstants.DATIME));
86
87 // Modify the preferences
88 String testValue = ITmfTimePreferencesConstants.TIME_HOUR_FMT + "foo";
89 IEclipsePreferences node = InstanceScope.INSTANCE.getNode(Activator.PLUGIN_ID);
90 node.put(ITmfTimePreferencesConstants.DATIME, testValue);
91 try {
92 node.flush();
93 } catch (BackingStoreException e) {
94 }
95 // Make sure the modification is in the map
7bab46e6 96 Map<String, String> preferenceMap = TmfTimePreferences.getInstance().getPreferenceMap();
c1cd9635
MAL
97 assertEquals(testValue, preferenceMap.get(ITmfTimePreferencesConstants.DATIME));
98
99 // Make sure the default is still the same
7bab46e6 100 defaultPreferenceMap = TmfTimePreferences.getInstance().getDefaultPreferenceMap();
c1cd9635
MAL
101 assertEquals(ITmfTimePreferencesConstants.TIME_HOUR_FMT, defaultPreferenceMap.get(ITmfTimePreferencesConstants.DATIME));
102 }
103
104 /**
105 * Test that computeTimePattern computes the appropriate time pattern from a preference map (from the default)
106 */
107 @Test
108 public void testComputeTimePattern() {
7bab46e6 109 assertEquals(TIME_PATTERN, TmfTimePreferences.getInstance().computeTimePattern(TmfTimePreferences.getInstance().getPreferenceMap()));
c1cd9635
MAL
110 }
111
112}
This page took 0.043973 seconds and 5 git commands to generate.