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

Last change on this file since 3025 was 1954, checked in by Gubaer, 15 years ago

Moved package org.openstreetmap.josm.gui.conflict to org.openstreetmap.josm.gui.conflict.pair

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