source: josm/trunk/test/unit/org/openstreetmap/josm/gui/dialogs/layer/CycleLayerActionTest.java

Last change on this file was 18893, checked in by taylor.smock, 2 years ago

Fix #16567: Upgrade to JUnit 5

JOSMTestRules and JOSMTestFixture can reset the default JOSM profile, which can
be unexpected for new contributors. This updates all tests to use JUnit 5 and
the new JUnit 5 annotations.

This also renames MapCSSStyleSourceFilterTest to MapCSSStyleSourceFilterPerformanceTest
to match the naming convention for performance tests and fixes some lint issues.

This was tested by running all tests individually and together.

  • Property svn:eol-style set to native
File size: 3.6 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.openstreetmap.josm.tools.I18n.tr;
6
7import org.junit.jupiter.api.BeforeEach;
8import org.junit.jupiter.api.Test;
9import org.openstreetmap.josm.data.imagery.ImageryInfo;
10import org.openstreetmap.josm.data.imagery.ImageryLayerInfo;
11import org.openstreetmap.josm.data.osm.DataSet;
12import org.openstreetmap.josm.gui.MainApplication;
13import org.openstreetmap.josm.gui.layer.ImageryLayer;
14import org.openstreetmap.josm.gui.layer.MainLayerManager;
15import org.openstreetmap.josm.gui.layer.OsmDataLayer;
16import org.openstreetmap.josm.testutils.annotations.FakeImagery;
17import org.openstreetmap.josm.testutils.annotations.Main;
18import org.openstreetmap.josm.testutils.annotations.Projection;
19
20/**
21 * Test class for {@link CycleLayerDownAction}
22 *
23 * @author Taylor Smock
24 */
25@FakeImagery
26@Main
27@Projection
28class CycleLayerActionTest {
29 private CycleLayerDownAction cycleDown;
30 private CycleLayerUpAction cycleUp;
31 private MainLayerManager manager;
32
33 /**
34 * Set up common items (make layers, etc.)
35 */
36 @BeforeEach
37 void setUp() {
38 cycleDown = new CycleLayerDownAction();
39 cycleUp = new CycleLayerUpAction();
40 manager = MainApplication.getLayerManager();
41 for (int i = 0; i < 10; i++) {
42 manager.addLayer(new OsmDataLayer(new DataSet(), tr("Layer {0}", i), null));
43 }
44 }
45
46 /**
47 * Test going down from the bottom
48 */
49 @Test
50 void testDownBottom() {
51 manager.setActiveLayer(manager.getLayers().get(0));
52 cycleDown.actionPerformed(null);
53 assertEquals(manager.getLayers().size() - 1, manager.getLayers().indexOf(manager.getActiveLayer()));
54 }
55
56 /**
57 * Check going up from the top
58 */
59 @Test
60 void testUpTop() {
61 manager.setActiveLayer(manager.getLayers().get(manager.getLayers().size() - 1));
62 cycleUp.actionPerformed(null);
63 assertEquals(0, manager.getLayers().indexOf(manager.getActiveLayer()));
64 }
65
66 /**
67 * Check going down
68 */
69 @Test
70 void testDown() {
71 manager.setActiveLayer(manager.getLayers().get(3));
72 cycleDown.actionPerformed(null);
73 assertEquals(2, manager.getLayers().indexOf(manager.getActiveLayer()));
74 }
75
76 /**
77 * Check going up
78 */
79 @Test
80 void testUp() {
81 manager.setActiveLayer(manager.getLayers().get(3));
82 cycleUp.actionPerformed(null);
83 assertEquals(4, manager.getLayers().indexOf(manager.getActiveLayer()));
84 }
85
86 /**
87 * Test no layers
88 */
89 @Test
90 void testNoLayers() {
91 manager.getLayers().forEach(manager::removeLayer);
92 cycleUp.actionPerformed(null);
93 cycleDown.actionPerformed(null);
94 assertEquals(0, manager.getLayers().size());
95 }
96
97 /**
98 * Test with an aerial imagery layer
99 */
100 @Test
101 void testWithAerialImagery() {
102 final ImageryInfo magentaTilesInfo = ImageryLayerInfo.instance.getLayers().stream()
103 .filter(i -> i.getName().equals("Magenta Tiles")).findAny().get();
104 ImageryLayer imageryLayer = ImageryLayer.create(magentaTilesInfo);
105 manager.addLayer(imageryLayer);
106 manager.moveLayer(imageryLayer, 5);
107 manager.setActiveLayer(manager.getLayers().get(4));
108 cycleUp.actionPerformed(null);
109 assertEquals(6, manager.getLayers().indexOf(manager.getActiveLayer()));
110 cycleDown.actionPerformed(null);
111 assertEquals(4, manager.getLayers().indexOf(manager.getActiveLayer()));
112 }
113}
Note: See TracBrowser for help on using the repository browser.