kopia lustrzana https://github.com/JOSM/MapWithAI
Add tests for plugin initialization and versioning
Signed-off-by: Taylor Smock <taylor.smock@kaart.com>pull/1/head
rodzic
e7d7e495ab
commit
d3ea8f2d82
|
@ -21,15 +21,15 @@ import org.openstreetmap.josm.gui.preferences.TabPreferenceSetting;
|
||||||
import org.openstreetmap.josm.plugins.rapid.backend.RapiDDataUtils;
|
import org.openstreetmap.josm.plugins.rapid.backend.RapiDDataUtils;
|
||||||
|
|
||||||
public class RapiDPreferences implements SubPreferenceSetting {
|
public class RapiDPreferences implements SubPreferenceSetting {
|
||||||
private final JLabel rapidApiUrl = new JLabel(tr("RapiD API URL"));
|
protected final JLabel rapidApiUrl = new JLabel(tr("RapiD API URL"));
|
||||||
private final JComboBox<String> possibleRapidApiUrl = new JComboBox<>();
|
protected final JComboBox<String> possibleRapidApiUrl = new JComboBox<>();
|
||||||
|
|
||||||
private final JLabel switchLayer = new JLabel(tr("Automatically switch layers"));
|
protected final JLabel switchLayer = new JLabel(tr("Automatically switch layers"));
|
||||||
private final JCheckBox switchLayerCheckBox = new JCheckBox();
|
protected final JCheckBox switchLayerCheckBox = new JCheckBox();
|
||||||
|
|
||||||
private final JLabel maximumAddition = new JLabel(
|
protected final JLabel maximumAddition = new JLabel(
|
||||||
tr("Maximum features (add)"));
|
tr("Maximum features (add)"));
|
||||||
private final JSpinner maximumAdditionSpinner = new JSpinner(
|
protected final JSpinner maximumAdditionSpinner = new JSpinner(
|
||||||
new SpinnerNumberModel(RapiDDataUtils.getMaximumAddition(), 0, 100, 1));
|
new SpinnerNumberModel(RapiDDataUtils.getMaximumAddition(), 0, 100, 1));
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -85,8 +85,8 @@ public class RapiDPreferences implements SubPreferenceSetting {
|
||||||
RapiDDataUtils.setRapiDUrl((String) possibleRapidApiUrl.getSelectedItem());
|
RapiDDataUtils.setRapiDUrl((String) possibleRapidApiUrl.getSelectedItem());
|
||||||
RapiDDataUtils.setSwitchLayers(switchLayerCheckBox.isSelected());
|
RapiDDataUtils.setSwitchLayers(switchLayerCheckBox.isSelected());
|
||||||
Object value = maximumAdditionSpinner.getValue();
|
Object value = maximumAdditionSpinner.getValue();
|
||||||
if (value instanceof Integer) {
|
if (value instanceof Number) {
|
||||||
RapiDDataUtils.setMaximumAddition((Integer) value);
|
RapiDDataUtils.setMaximumAddition(((Number) value).intValue());
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,71 @@
|
||||||
|
// License: GPL. For details, see LICENSE file.
|
||||||
|
package org.openstreetmap.josm.plugins.rapid;
|
||||||
|
|
||||||
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.InputStream;
|
||||||
|
|
||||||
|
import javax.swing.JMenu;
|
||||||
|
|
||||||
|
import org.junit.Assert;
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Rule;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.openstreetmap.josm.data.preferences.sources.MapPaintPrefHelper;
|
||||||
|
import org.openstreetmap.josm.gui.MainApplication;
|
||||||
|
import org.openstreetmap.josm.plugins.PluginInformation;
|
||||||
|
import org.openstreetmap.josm.testutils.JOSMTestRules;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Taylor Smock
|
||||||
|
*/
|
||||||
|
public class RapiDPluginTest {
|
||||||
|
@Rule
|
||||||
|
public JOSMTestRules test = new JOSMTestRules().preferences().main();
|
||||||
|
|
||||||
|
public PluginInformation info;
|
||||||
|
public RapiDPlugin plugin;
|
||||||
|
|
||||||
|
private static String VERSION = "no-such-version";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws java.lang.Exception
|
||||||
|
*/
|
||||||
|
@Before
|
||||||
|
public void setUp() throws Exception {
|
||||||
|
InputStream in = new ByteArrayInputStream("".getBytes());
|
||||||
|
info = new PluginInformation(in, "Rapid", null);
|
||||||
|
info.localversion = VERSION;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test method for {@link RapiDPlugin#getPreferenceSetting()}.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testGetPreferenceSetting() {
|
||||||
|
plugin = new RapiDPlugin(info);
|
||||||
|
Assert.assertTrue(plugin.getPreferenceSetting() instanceof RapiDPreferences);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test method for {@link RapiDPlugin#RapiDPlugin(PluginInformation)}.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testRapiDPlugin() {
|
||||||
|
JMenu dataMenu = MainApplication.getMenu().dataMenu;
|
||||||
|
int originalPaintStyles = MapPaintPrefHelper.INSTANCE.get().size();
|
||||||
|
int dataMenuSize = dataMenu.getMenuComponentCount();
|
||||||
|
plugin = new RapiDPlugin(info);
|
||||||
|
Assert.assertEquals(dataMenuSize + 2, dataMenu.getMenuComponentCount());
|
||||||
|
Assert.assertEquals(originalPaintStyles + 1, MapPaintPrefHelper.INSTANCE.get().size());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test method for {@link RapiDPlugin#getVersionInfo()}.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testGetVersionInfo() {
|
||||||
|
plugin = new RapiDPlugin(info); // needs to be called for version info to be initialized.
|
||||||
|
Assert.assertEquals(VERSION, RapiDPlugin.getVersionInfo());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,78 @@
|
||||||
|
// License: GPL. For details, see LICENSE file.
|
||||||
|
package org.openstreetmap.josm.plugins.rapid;
|
||||||
|
|
||||||
|
import javax.swing.SpinnerNumberModel;
|
||||||
|
|
||||||
|
import org.junit.Assert;
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Rule;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
|
||||||
|
import org.openstreetmap.josm.plugins.rapid.backend.RapiDDataUtils;
|
||||||
|
import org.openstreetmap.josm.testutils.JOSMTestRules;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Taylor Smock
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class RapiDPreferencesTest {
|
||||||
|
@Rule
|
||||||
|
public JOSMTestRules test = new JOSMTestRules().preferences().main();
|
||||||
|
|
||||||
|
private RapiDPreferences preferences;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@Before
|
||||||
|
public void setUp() throws Exception {
|
||||||
|
preferences = new RapiDPreferences();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test method for {@link RapiDPreferences#addGui(PreferenceTabbedPane)}.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testAddGui() {
|
||||||
|
PreferenceTabbedPane pane = new PreferenceTabbedPane();
|
||||||
|
pane.buildGui();
|
||||||
|
int tabs = pane.getPluginPreference().getTabPane().getTabCount();
|
||||||
|
|
||||||
|
preferences.addGui(pane);
|
||||||
|
|
||||||
|
Assert.assertEquals(tabs + 1, pane.getPluginPreference().getTabPane().getTabCount());
|
||||||
|
Assert.assertEquals(pane.getPluginPreference(), preferences.getTabPreferenceSetting(pane));
|
||||||
|
|
||||||
|
boolean switchLayers = RapiDDataUtils.getSwitchLayers();
|
||||||
|
|
||||||
|
Assert.assertEquals(switchLayers, preferences.switchLayerCheckBox.isSelected());
|
||||||
|
preferences.ok();
|
||||||
|
Assert.assertEquals(switchLayers, RapiDDataUtils.getSwitchLayers());
|
||||||
|
|
||||||
|
preferences.switchLayerCheckBox.setSelected(!switchLayers);
|
||||||
|
Assert.assertNotEquals(!switchLayers, RapiDDataUtils.getSwitchLayers());
|
||||||
|
preferences.ok();
|
||||||
|
Assert.assertEquals(!switchLayers, RapiDDataUtils.getSwitchLayers());
|
||||||
|
|
||||||
|
Object tmp = preferences.maximumAdditionSpinner.getModel();
|
||||||
|
SpinnerNumberModel spinnerModel = null;
|
||||||
|
if (tmp instanceof SpinnerNumberModel) {
|
||||||
|
spinnerModel = (SpinnerNumberModel) tmp;
|
||||||
|
}
|
||||||
|
Assert.assertNotNull(spinnerModel);
|
||||||
|
Number currentNumber = RapiDDataUtils.getMaximumAddition();
|
||||||
|
Assert.assertEquals(currentNumber.intValue(), spinnerModel.getNumber().intValue());
|
||||||
|
spinnerModel.setValue(currentNumber.intValue() + 3);
|
||||||
|
Assert.assertNotEquals(spinnerModel.getNumber().intValue(), RapiDDataUtils.getMaximumAddition());
|
||||||
|
preferences.ok();
|
||||||
|
Assert.assertEquals(spinnerModel.getNumber().intValue(), RapiDDataUtils.getMaximumAddition());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test method for {@link RapiDPreferences#isExpert()}.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testIsExpert() {
|
||||||
|
Assert.assertFalse(preferences.isExpert());
|
||||||
|
}
|
||||||
|
}
|
Ładowanie…
Reference in New Issue