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

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

speedup unit tests

  • Property svn:eol-style set to native
File size: 2.8 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.dialogs.LayerListDialog;
13import org.openstreetmap.josm.gui.layer.LayerManagerTest.TestLayer;
14import org.openstreetmap.josm.gui.layer.OsmDataLayer;
15import org.openstreetmap.josm.testutils.JOSMTestRules;
16
17import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
18
19/**
20 * Unit tests for class {@link MergeLayerAction}.
21 */
22public class MergeLayerActionTest {
23
24 /**
25 * Setup test.
26 */
27 @Rule
28 @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
29 public JOSMTestRules test = new JOSMTestRules().platform().mainMenu();
30
31 private MergeLayerAction action;
32
33 /**
34 * Setup test.
35 */
36 @Before
37 public void setUp() {
38 try {
39 LayerListDialog.getInstance();
40 } catch (IllegalStateException e) {
41 LayerListDialog.createInstance(Main.getLayerManager());
42 Main.trace(e);
43 }
44 if (action == null) {
45 action = new MergeLayerAction();
46 }
47 for (TestLayer testLayer : Main.getLayerManager().getLayersOfType(TestLayer.class)) {
48 Main.getLayerManager().removeLayer(testLayer);
49 }
50 }
51
52 /**
53 * Tests that no error occurs when no source layer exists.
54 */
55 @Test
56 public void testMergeNoSourceLayer() {
57 assertNull(Main.getLayerManager().getActiveLayer());
58 action.actionPerformed(null);
59 assertEquals(0, Main.getLayerManager().getLayers().size());
60 }
61
62 /**
63 * Tests that no error occurs when no target layer exists.
64 */
65 @Test
66 public void testMergeNoTargetLayer() {
67 OsmDataLayer layer = new OsmDataLayer(new DataSet(), "", null);
68 Main.getLayerManager().addLayer(layer);
69 assertEquals(1, Main.getLayerManager().getLayers().size());
70 assertNull(action.merge(layer));
71 assertEquals(1, Main.getLayerManager().getLayers().size());
72 }
73
74 /**
75 * Tests that the merge is done with two empty layers.
76 * @throws Exception if any error occurs
77 */
78 @Test
79 public void testMergeTwoEmptyLayers() throws Exception {
80 OsmDataLayer layer1 = new OsmDataLayer(new DataSet(), "1", null);
81 OsmDataLayer layer2 = new OsmDataLayer(new DataSet(), "2", null);
82 Main.getLayerManager().addLayer(layer1);
83 Main.getLayerManager().addLayer(layer2);
84 assertEquals(2, Main.getLayerManager().getLayers().size());
85 action.merge(layer2).get();
86 assertEquals(1, Main.getLayerManager().getLayers().size());
87 }
88}
Note: See TracBrowser for help on using the repository browser.