source: josm/trunk/test/unit/org/openstreetmap/josm/actions/MergeNodesActionTest.java@ 11108

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

sonar - squid:S3518 - Zero should not be a possible denominator

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