source: josm/trunk/test/unit/org/openstreetmap/josm/gui/conflict/tags/TagMergeItemTest.java@ 8513

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

checkstyle: blocks

  • Property svn:eol-style set to native
File size: 5.0 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.conflict.tags;
3
4import static org.junit.Assert.assertEquals;
5import static org.junit.Assert.assertNull;
6import static org.junit.Assert.fail;
7
8import org.junit.BeforeClass;
9import org.junit.Test;
10import org.openstreetmap.josm.JOSMFixture;
11import org.openstreetmap.josm.Main;
12import org.openstreetmap.josm.data.osm.Node;
13import org.openstreetmap.josm.gui.conflict.pair.MergeDecisionType;
14import org.openstreetmap.josm.gui.conflict.pair.tags.TagMergeItem;
15
16public class TagMergeItemTest {
17
18 @BeforeClass
19 public static void init() {
20 JOSMFixture.createUnitTestFixture().init();
21 }
22
23 @Test
24 public void test_TagMergeItem() {
25 TagMergeItem item = new TagMergeItem("key", "myvalue", "theirvalue");
26 assertEquals("key", item.getKey());
27 assertEquals("myvalue", item.getMyTagValue());
28 assertEquals("theirvalue", item.getTheirTagValue());
29 assertEquals(MergeDecisionType.UNDECIDED, item.getMergeDecision());
30 }
31
32 @Test
33 public void test_TagMergeItem_2() {
34 Node n1 = new Node(1);
35 Node n2 = new Node(1);
36 n1.put("key", "myvalue");
37 n2.put("key", "theirvalue");
38
39 TagMergeItem item = new TagMergeItem("key", n1, n2);
40 assertEquals("key", item.getKey());
41 assertEquals("myvalue", item.getMyTagValue());
42 assertEquals("theirvalue", item.getTheirTagValue());
43 assertEquals(MergeDecisionType.UNDECIDED, item.getMergeDecision());
44 }
45
46 @Test
47 public void test_TagMergeItem_3() {
48 Node n1 = new Node(1);
49 Node n2 = new Node(1);
50 n1.put("key", "myvalue");
51 // n2 does not have this key
52
53 TagMergeItem item = new TagMergeItem("key", n1, n2);
54 assertEquals("key", item.getKey());
55 assertEquals("myvalue", item.getMyTagValue());
56 assertNull(item.getTheirTagValue());
57 assertEquals(MergeDecisionType.UNDECIDED, item.getMergeDecision());
58 }
59
60 @Test
61 public void test_TagMergeItem_4() {
62 Node n1 = new Node(1);
63 Node n2 = new Node(1);
64 // n1 does not have this key
65 // n1.put("key", "myvalue");
66 n2.put("key", "theirvalue");
67
68 TagMergeItem item = new TagMergeItem("key", n1, n2);
69 assertEquals("key", item.getKey());
70 assertNull(item.getMyTagValue());
71 assertEquals("theirvalue", item.getTheirTagValue());
72 assertEquals(MergeDecisionType.UNDECIDED, item.getMergeDecision());
73 }
74
75 @Test
76 public void test_decide() {
77 TagMergeItem item = new TagMergeItem("key", "myvalue", "theirvalue");
78 item.decide(MergeDecisionType.KEEP_MINE);
79 assertEquals(MergeDecisionType.KEEP_MINE, item.getMergeDecision());
80 }
81
82 @Test
83 public void test_decide_1() {
84 TagMergeItem item = new TagMergeItem("key", "myvalue", "theirvalue");
85 try {
86 item.decide(null);
87 fail("expected IllegalArgumentException not thrown");
88 } catch (IllegalArgumentException e) {
89 // OK
90 if (Main.isTraceEnabled()) {
91 Main.trace(e.getMessage());
92 }
93 }
94 }
95
96 @Test
97 public void test_applyToMyPrimitive() {
98 TagMergeItem item = new TagMergeItem("key", "myvalue", "theirvalue");
99 item.decide(MergeDecisionType.KEEP_MINE);
100
101 Node n1 = new Node(1);
102 n1.put("key", "oldvalue");
103 item.applyToMyPrimitive(n1);
104 assertEquals("myvalue", n1.get("key"));
105
106 n1 = new Node(1);
107 item.applyToMyPrimitive(n1);
108 assertEquals("myvalue", n1.get("key"));
109 }
110
111 @Test
112 public void test_applyToMyPrimitive_2() {
113 TagMergeItem item = new TagMergeItem("key", "myvalue", "theirvalue");
114 item.decide(MergeDecisionType.KEEP_THEIR);
115
116 Node n1 = new Node(1);
117 n1.put("key", "oldvalue");
118 item.applyToMyPrimitive(n1);
119 assertEquals("theirvalue", n1.get("key"));
120
121 n1 = new Node(1);
122 item.applyToMyPrimitive(n1);
123 assertEquals("theirvalue", n1.get("key"));
124 }
125
126 @Test
127 public void test_applyToMyPrimitive_3() {
128 TagMergeItem item = new TagMergeItem("key", "myvalue", "theirvalue");
129 // item is undecided
130 // item.decide(MergeDecisionType.KEEP_THEIR);
131
132 Node n1 = new Node(1);
133 n1.put("key", "oldvalue");
134 try {
135 item.applyToMyPrimitive(n1);
136 fail("expected IllegalStateException");
137 } catch (IllegalStateException e) {
138 // OK
139 if (Main.isTraceEnabled()) {
140 Main.trace(e.getMessage());
141 }
142 }
143 }
144
145 @Test
146 public void test_applyToMyPrimitive_4() {
147 TagMergeItem item = new TagMergeItem("key", "myvalue", "theirvalue");
148
149 try {
150 item.applyToMyPrimitive(null);
151 fail("expected IllegalArgumentException");
152 } catch (IllegalArgumentException e) {
153 // OK
154 if (Main.isTraceEnabled()) {
155 Main.trace(e.getMessage());
156 }
157 }
158 }
159}
Note: See TracBrowser for help on using the repository browser.