source: josm/trunk/test/unit/org/openstreetmap/josm/gui/dialogs/layer/DuplicateActionTest.java@ 17275

Last change on this file since 17275 was 17275, checked in by Don-vip, 3 years ago

see #16567 - upgrade almost all tests to JUnit 5, except those depending on WiremockRule

See https://github.com/tomakehurst/wiremock/issues/684

File size: 2.5 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.dialogs.layer;
3
4import static org.junit.jupiter.api.Assertions.assertEquals;
5import static org.junit.jupiter.api.Assertions.assertFalse;
6import static org.junit.jupiter.api.Assertions.assertNotNull;
7import static org.junit.jupiter.api.Assertions.assertNull;
8
9import java.io.InputStream;
10
11import org.junit.jupiter.api.extension.RegisterExtension;
12import org.junit.jupiter.api.Test;
13import org.openstreetmap.josm.TestUtils;
14import org.openstreetmap.josm.gui.MainApplication;
15import org.openstreetmap.josm.gui.layer.OsmDataLayer;
16import org.openstreetmap.josm.io.OsmReader;
17import org.openstreetmap.josm.testutils.JOSMTestRules;
18
19import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
20
21/**
22 * Unit tests of {@link DuplicateAction} class.
23 */
24class DuplicateActionTest {
25 /**
26 * TMS layer needs prefs. Platform for LayerListDialog shortcuts.
27 */
28 @RegisterExtension
29 @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
30 public JOSMTestRules test = new JOSMTestRules().preferences();
31
32 /**
33 * Non-regression test for ticket <a href="https://josm.openstreetmap.de/ticket/4539">#4539</a>.
34 * @throws Exception if an error occurs
35 */
36 @Test
37 void testTicket4539() throws Exception {
38 try (InputStream is = TestUtils.getRegressionDataStream(4539, "josm_error_#4539.osm.zip")) {
39 OsmDataLayer layer = new OsmDataLayer(OsmReader.parseDataSet(is, null), null, null);
40 OsmDataLayer editLayer = MainApplication.getLayerManager().getEditLayer();
41 assertNull(editLayer);
42 try {
43 new DuplicateAction(layer, null).actionPerformed(null);
44 editLayer = MainApplication.getLayerManager().getEditLayer();
45 assertNotNull(editLayer);
46 assertFalse(layer.equals(editLayer));
47 assertEquals(layer.data.getNodes().size(), editLayer.data.getNodes().size());
48 assertEquals(layer.data.getWays().size(), editLayer.data.getWays().size());
49 assertEquals(layer.data.getRelations().size(), editLayer.data.getRelations().size());
50 } finally {
51 // Ensure we clean the place before leaving, even if test fails.
52 if (editLayer != null) {
53 MainApplication.getLayerManager().removeLayer(editLayer);
54 }
55 }
56 }
57 }
58}
Note: See TracBrowser for help on using the repository browser.