source: josm/trunk/test/unit/org/openstreetmap/josm/actions/MergeLayerActionTest.java@ 14219

Last change on this file since 14219 was 14138, checked in by Don-vip, 6 years ago

see #15229 - deprecate Main.platform and related methods - new class PlatformManager

  • Property svn:eol-style set to native
File size: 2.6 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.actions;
3
4import static org.junit.Assert.assertEquals;
5import static org.junit.Assert.assertNull;
6
7import org.junit.Before;
8import org.junit.Rule;
9import org.junit.Test;
10import org.openstreetmap.josm.data.osm.DataSet;
11import org.openstreetmap.josm.gui.MainApplication;
12import org.openstreetmap.josm.gui.layer.LayerManagerTest.TestLayer;
13import org.openstreetmap.josm.gui.layer.OsmDataLayer;
14import org.openstreetmap.josm.testutils.JOSMTestRules;
15
16import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
17
18/**
19 * Unit tests for class {@link MergeLayerAction}.
20 */
21public class MergeLayerActionTest {
22
23 /**
24 * Setup test.
25 */
26 @Rule
27 @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
28 public JOSMTestRules test = new JOSMTestRules().main();
29
30 private MergeLayerAction action;
31
32 /**
33 * Setup test.
34 */
35 @Before
36 public void setUp() {
37 if (action == null) {
38 action = new MergeLayerAction();
39 }
40 for (TestLayer testLayer : MainApplication.getLayerManager().getLayersOfType(TestLayer.class)) {
41 MainApplication.getLayerManager().removeLayer(testLayer);
42 }
43 }
44
45 /**
46 * Tests that no error occurs when no source layer exists.
47 */
48 @Test
49 public void testMergeNoSourceLayer() {
50 assertNull(MainApplication.getLayerManager().getActiveLayer());
51 action.actionPerformed(null);
52 assertEquals(0, MainApplication.getLayerManager().getLayers().size());
53 }
54
55 /**
56 * Tests that no error occurs when no target layer exists.
57 */
58 @Test
59 public void testMergeNoTargetLayer() {
60 OsmDataLayer layer = new OsmDataLayer(new DataSet(), "", null);
61 MainApplication.getLayerManager().addLayer(layer);
62 assertEquals(1, MainApplication.getLayerManager().getLayers().size());
63 assertNull(action.merge(layer));
64 assertEquals(1, MainApplication.getLayerManager().getLayers().size());
65 }
66
67 /**
68 * Tests that the merge is done with two empty layers.
69 * @throws Exception if any error occurs
70 */
71 @Test
72 public void testMergeTwoEmptyLayers() throws Exception {
73 OsmDataLayer layer1 = new OsmDataLayer(new DataSet(), "1", null);
74 OsmDataLayer layer2 = new OsmDataLayer(new DataSet(), "2", null);
75 MainApplication.getLayerManager().addLayer(layer1);
76 MainApplication.getLayerManager().addLayer(layer2);
77 assertEquals(2, MainApplication.getLayerManager().getLayers().size());
78 action.merge(layer2).get();
79 assertEquals(1, MainApplication.getLayerManager().getLayers().size());
80 }
81}
Note: See TracBrowser for help on using the repository browser.