source: josm/trunk/test/unit/org/openstreetmap/josm/gui/dialogs/layer/LayerVisibilityActionTest.java@ 10144

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

code refactoring - strip actions from LayerListDialog to new package gui.dialogs.layer

  • Property svn:eol-style set to native
File size: 3.1 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.dialogs.layer;
3
4import static org.junit.Assert.assertEquals;
5import static org.junit.Assert.assertFalse;
6import static org.junit.Assert.assertTrue;
7
8import org.junit.BeforeClass;
9import org.junit.Test;
10import org.openstreetmap.josm.JOSMFixture;
11import org.openstreetmap.josm.Main;
12import org.openstreetmap.josm.gui.dialogs.LayerListDialog;
13import org.openstreetmap.josm.gui.dialogs.LayerListDialog.LayerListModel;
14import org.openstreetmap.josm.gui.layer.TMSLayer;
15import org.openstreetmap.josm.gui.layer.TMSLayerTest;
16
17/**
18 * Unit tests of {@link LayerVisibilityAction} class.
19 */
20public class LayerVisibilityActionTest {
21
22 /**
23 * Setup tests
24 */
25 @BeforeClass
26 public static void setUpBeforeClass() {
27 JOSMFixture.createUnitTestFixture().init(true);
28 }
29
30 /**
31 * Unit test of {@link LayerVisibilityAction} class.
32 */
33 @Test
34 public void testLayerVisibilityAction() {
35 TMSLayer layer = TMSLayerTest.createTmsLayer();
36 try {
37 LayerListModel model = LayerListDialog.getInstance().getModel();
38 LayerVisibilityAction action = new LayerVisibilityAction(model);
39 action.updateEnabledState();
40 assertFalse(action.isEnabled());
41
42 Main.map.mapView.addLayer(layer);
43 action.updateEnabledState();
44 assertTrue(action.isEnabled());
45 assertTrue(action.supportLayers(model.getSelectedLayers()));
46
47 // now check values
48 action.updateValues();
49 assertEquals(1.0, action.opacitySlider.getRealValue(), 1e-15);
50
51 action.opacitySlider.setRealValue(.5);
52 action.updateValues();
53
54 assertEquals(0.5, action.opacitySlider.getRealValue(), 1e-15);
55
56 action.setVisibleFlag(false);
57 action.updateValues();
58 assertFalse(layer.isVisible());
59
60 action.setVisibleFlag(true);
61 action.updateValues();
62 assertTrue(layer.isVisible());
63
64 // layer stays visible during adjust
65 action.opacitySlider.setValueIsAdjusting(true);
66 action.opacitySlider.setRealValue(0);
67 assertEquals(0, layer.getOpacity(), 1e-15);
68 layer.setOpacity(.1); // to make layer.isVisible work
69 assertTrue(layer.isVisible());
70 layer.setOpacity(0);
71
72 action.opacitySlider.setValueIsAdjusting(false);
73 action.opacitySlider.setRealValue(0);
74 assertEquals(0, layer.getOpacity(), 1e-15);
75 layer.setOpacity(.1); // to make layer.isVisible work
76 assertFalse(layer.isVisible());
77 layer.setOpacity(0);
78 action.updateValues();
79
80 // Opacity reset when it was 0 and user set layer to visible.
81 action.setVisibleFlag(true);
82 action.updateValues();
83 assertEquals(1.0, action.opacitySlider.getRealValue(), 1e-15);
84 assertEquals(1.0, layer.getOpacity(), 1e-15);
85
86 } finally {
87 Main.map.mapView.removeLayer(layer);
88 }
89 }
90}
Note: See TracBrowser for help on using the repository browser.