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

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

see #15182 - fix unit tests

  • Property svn:eol-style set to native
File size: 2.5 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.Main;
11import org.openstreetmap.josm.data.osm.DataSet;
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().platform().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 : Main.getLayerManager().getLayersOfType(TestLayer.class)) {
41 Main.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(Main.getLayerManager().getActiveLayer());
51 action.actionPerformed(null);
52 assertEquals(0, Main.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 Main.getLayerManager().addLayer(layer);
62 assertEquals(1, Main.getLayerManager().getLayers().size());
63 assertNull(action.merge(layer));
64 assertEquals(1, Main.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 Main.getLayerManager().addLayer(layer1);
76 Main.getLayerManager().addLayer(layer2);
77 assertEquals(2, Main.getLayerManager().getLayers().size());
78 action.merge(layer2).get();
79 assertEquals(1, Main.getLayerManager().getLayers().size());
80 }
81}
Note: See TracBrowser for help on using the repository browser.