source: josm/trunk/test/unit/org/openstreetmap/josm/gui/preferences/PreferencesTestUtils.java@ 12649

Last change on this file since 12649 was 10098, checked in by Don-vip, 8 years ago

add more unit tests

  • Property svn:eol-style set to native
File size: 1.8 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.preferences;
3
4import static org.junit.Assert.assertEquals;
5
6/**
7 * Various utils, useful for preferences unit tests.
8 */
9public final class PreferencesTestUtils {
10
11 private PreferencesTestUtils() {
12 // Hide constructor for utility classes
13 }
14
15 /**
16 * Generic test for {@link PreferenceSetting#addGui(PreferenceTabbedPane)}.
17 * @param factory setting factory to test
18 * @param parentClass optional parent setting, can be {@code null}
19 */
20 public static void doTestPreferenceSettingAddGui(
21 PreferenceSettingFactory factory, Class<? extends DefaultTabPreferenceSetting> parentClass) {
22 doTestPreferenceSettingAddGui(factory, parentClass, 1);
23 }
24
25 /**
26 * Generic test for {@link PreferenceSetting#addGui(PreferenceTabbedPane)}.
27 * @param factory setting factory to test
28 * @param parentClass optional parent setting, can be {@code null}
29 * @param increment expected tab number increment
30 */
31 public static void doTestPreferenceSettingAddGui(
32 PreferenceSettingFactory factory, Class<? extends DefaultTabPreferenceSetting> parentClass, int increment) {
33 PreferenceSetting setting = factory.createPreferenceSetting();
34 PreferenceTabbedPane tabPane = new PreferenceTabbedPane();
35 tabPane.buildGui();
36 int tabs = parentClass != null ? tabPane.getSetting(parentClass).getTabPane().getTabCount() : -1;
37 setting.addGui(tabPane);
38 if (parentClass != null) {
39 assertEquals(tabs + increment, tabPane.getSetting(parentClass).getTabPane().getTabCount());
40 assertEquals(tabPane.getSetting(parentClass), ((SubPreferenceSetting) setting).getTabPreferenceSetting(tabPane));
41 }
42 setting.ok();
43 }
44}
Note: See TracBrowser for help on using the repository browser.