Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.tracecompass.tmf.core.tests/src/org/eclipse/tracecompass/tmf/core/tests/event/TmfTimePreferencesTest.java')
-rw-r--r--org.eclipse.tracecompass.tmf.core.tests/src/org/eclipse/tracecompass/tmf/core/tests/event/TmfTimePreferencesTest.java112
1 files changed, 112 insertions, 0 deletions
diff --git a/org.eclipse.tracecompass.tmf.core.tests/src/org/eclipse/tracecompass/tmf/core/tests/event/TmfTimePreferencesTest.java b/org.eclipse.tracecompass.tmf.core.tests/src/org/eclipse/tracecompass/tmf/core/tests/event/TmfTimePreferencesTest.java
new file mode 100644
index 0000000000..36d88595ac
--- /dev/null
+++ b/org.eclipse.tracecompass.tmf.core.tests/src/org/eclipse/tracecompass/tmf/core/tests/event/TmfTimePreferencesTest.java
@@ -0,0 +1,112 @@
+/*******************************************************************************
+ * Copyright (c) 2013, 2014 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Marc-Andre Laperle - Initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.tracecompass.tmf.core.tests.event;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.util.Map;
+import java.util.TimeZone;
+
+import org.eclipse.core.runtime.preferences.DefaultScope;
+import org.eclipse.core.runtime.preferences.IEclipsePreferences;
+import org.eclipse.core.runtime.preferences.InstanceScope;
+import org.eclipse.tracecompass.internal.tmf.core.Activator;
+import org.eclipse.tracecompass.tmf.core.timestamp.ITmfTimePreferencesConstants;
+import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimePreferences;
+import org.junit.Test;
+import org.osgi.service.prefs.BackingStoreException;
+
+/**
+ * Test suite for the TmfTimePreferences class.
+ */
+public class TmfTimePreferencesTest {
+
+ private static final String TIME_PATTERN = "HH:mm:ss.SSS SSS SSS";
+ private static final String INTERVAL_PATTERN = "TTT.SSS SSS SSS";
+
+ /**
+ * Test that the preferences get initialized to the default
+ */
+ @Test
+ public void testInit() {
+ assertEquals(DefaultScope.INSTANCE.getNode(Activator.PLUGIN_ID).get(ITmfTimePreferencesConstants.DATIME, null), ITmfTimePreferencesConstants.TIME_HOUR_FMT);
+ }
+
+ /**
+ * Test that getInstance returns an instance
+ */
+ @Test
+ public void testGetInstance() {
+ assertNotNull(TmfTimePreferences.getInstance());
+ }
+
+ /**
+ * Test that getTimePattern returns the appropriate time pattern (from the default)
+ */
+ @Test
+ public void testGetTimePattern() {
+ assertEquals(TIME_PATTERN, TmfTimePreferences.getInstance().getTimePattern());
+ }
+
+ /**
+ * Test that getIntervalPattern returns the appropriate interval pattern (from the default)
+ */
+ @Test
+ public void testGetIntervalPattern() {
+ assertEquals(INTERVAL_PATTERN, TmfTimePreferences.getInstance().getIntervalPattern());
+ }
+
+ /**
+ * Test that getTimeZone returns the appropriate time zone (from the default)
+ */
+ @Test
+ public void testGetTimeZone() {
+ assertEquals(TimeZone.getDefault(), TmfTimePreferences.getInstance().getTimeZone());
+ }
+
+ /**
+ * Test that getPreferenceMap returns the appropriate map even after preferences get modified
+ * and make sure it doesn't affect the defaults
+ */
+ @Test
+ public void testGetPreferenceMap() {
+ Map<String, String> defaultPreferenceMap = TmfTimePreferences.getInstance().getDefaultPreferenceMap();
+ assertEquals(ITmfTimePreferencesConstants.TIME_HOUR_FMT, defaultPreferenceMap.get(ITmfTimePreferencesConstants.DATIME));
+
+ // Modify the preferences
+ String testValue = ITmfTimePreferencesConstants.TIME_HOUR_FMT + "foo";
+ IEclipsePreferences node = InstanceScope.INSTANCE.getNode(Activator.PLUGIN_ID);
+ node.put(ITmfTimePreferencesConstants.DATIME, testValue);
+ try {
+ node.flush();
+ } catch (BackingStoreException e) {
+ }
+ // Make sure the modification is in the map
+ Map<String, String> preferenceMap = TmfTimePreferences.getInstance().getPreferenceMap();
+ assertEquals(testValue, preferenceMap.get(ITmfTimePreferencesConstants.DATIME));
+
+ // Make sure the default is still the same
+ defaultPreferenceMap = TmfTimePreferences.getInstance().getDefaultPreferenceMap();
+ assertEquals(ITmfTimePreferencesConstants.TIME_HOUR_FMT, defaultPreferenceMap.get(ITmfTimePreferencesConstants.DATIME));
+ }
+
+ /**
+ * Test that computeTimePattern computes the appropriate time pattern from a preference map (from the default)
+ */
+ @Test
+ public void testComputeTimePattern() {
+ assertEquals(TIME_PATTERN, TmfTimePreferences.getInstance().computeTimePattern(TmfTimePreferences.getInstance().getPreferenceMap()));
+ }
+
+}

Back to the top