source: josm/trunk/test/unit/org/openstreetmap/josm/actions/MergeNodesActionTest.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 java.util.Arrays;
8import java.util.Collections;
9
10import org.junit.Rule;
11import org.junit.Test;
12import org.openstreetmap.josm.data.coor.LatLon;
13import org.openstreetmap.josm.data.osm.DataSet;
14import org.openstreetmap.josm.data.osm.Node;
15import org.openstreetmap.josm.spi.preferences.Config;
16import org.openstreetmap.josm.testutils.JOSMTestRules;
17
18import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
19
20/**
21 * Unit tests for class {@link MergeNodesAction}.
22 */
23public class MergeNodesActionTest {
24
25 /**
26 * Setup test.
27 */
28 @Rule
29 @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
30 public JOSMTestRules test = new JOSMTestRules().projection();
31
32 /**
33 * Unit test of {@link MergeNodesAction#selectTargetLocationNode} - empty list
34 */
35 @Test(expected = IllegalArgumentException.class)
36 public void testSelectTargetLocationNodeEmpty() {
37 MergeNodesAction.selectTargetLocationNode(Collections.emptyList());
38 }
39
40 /**
41 * Unit test of {@link MergeNodesAction#selectTargetLocationNode} - invalid mode
42 */
43 @Test(expected = IllegalStateException.class)
44 public void testSelectTargetLocationNodeInvalidMode() {
45 Config.getPref().putInt("merge-nodes.mode", -1);
46 MergeNodesAction.selectTargetLocationNode(Arrays.asList(new Node(0), new Node(1)));
47 }
48
49 /**
50 * Unit test of {@link MergeNodesAction#selectTargetLocationNode}
51 */
52 @Test
53 public void testSelectTargetLocationNode() {
54 Config.getPref().putInt("merge-nodes.mode", 0);
55 assertEquals(1, MergeNodesAction.selectTargetLocationNode(Arrays.asList(new Node(0), new Node(1))).getId());
56
57 Config.getPref().putInt("merge-nodes.mode", 1);
58 assertEquals(LatLon.ZERO, MergeNodesAction.selectTargetLocationNode(
59 Arrays.asList(new Node(LatLon.NORTH_POLE), new Node(LatLon.SOUTH_POLE))).getCoor());
60
61 Config.getPref().putInt("merge-nodes.mode", 2);
62 assertEquals(LatLon.NORTH_POLE, MergeNodesAction.selectTargetLocationNode(
63 Arrays.asList(new Node(LatLon.NORTH_POLE))).getCoor());
64 }
65
66 /**
67 * Unit test of {@link MergeNodesAction#selectTargetNode}
68 */
69 @Test
70 public void testSelectTargetNode() {
71 assertNull(MergeNodesAction.selectTargetNode(Collections.emptyList()));
72 DataSet ds = new DataSet();
73 Node n1 = new Node(1);
74 ds.addPrimitive(n1);
75 assertEquals(1, MergeNodesAction.selectTargetNode(Arrays.asList(n1)).getId());
76 }
77}
Note: See TracBrowser for help on using the repository browser.