Changeset 7081 in josm for trunk/test/unit/org/openstreetmap/josm/io/OsmChangeBuilderTest.groovy
- Timestamp:
- 2014-05-09T04:49:54+02:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/test/unit/org/openstreetmap/josm/io/OsmChangeBuilderTest.groovy
r2690 r7081 1 1 package org.openstreetmap.josm.io; 2 2 3 import org.junit.Test 4 import org.openstreetmap.josm.data.coor.LatLon 5 import org.openstreetmap.josm.data.osm.Changeset 6 7 import static org.junit.Assert.*; 8 3 import static org.junit.Assert.* 4 5 import org.junit.Test 6 import org.openstreetmap.josm.data.coor.LatLon 7 import org.openstreetmap.josm.data.osm.Changeset 8 import org.openstreetmap.josm.data.osm.Node 9 9 10 class OsmChangeBuilderTest { 10 11 /** 12 * Test various constructor invocations 11 12 /** 13 * Test various constructor invocations 13 14 */ 14 15 @Test 15 16 public void testConstructor() { 16 17 def Changeset cs = new Changeset(1) 17 // should not fail 18 OsmChangeBuilder builder = new OsmChangeBuilder(cs) 19 18 // should not fail 19 OsmChangeBuilder builder = new OsmChangeBuilder(cs) 20 20 21 // should not fail either - null allowed 21 22 builder = new OsmChangeBuilder(null) 22 23 // should not fail 23 24 // should not fail 24 25 builder = new OsmChangeBuilder(cs, "0.5") 25 26 26 27 builder = new OsmChangeBuilder(cs, null) 27 28 builder = new OsmChangeBuilder(null, null) 29 } 30 28 29 builder = new OsmChangeBuilder(null, null) 30 } 31 31 32 /** 32 33 * Test the sequence of method calls. Should throw IllegalStateException if … … 35 36 @Test 36 37 public void testSequenceOfMethodCalls() { 37 def Changeset cs = new Changeset(1) 38 OsmChangeBuilder builder = new OsmChangeBuilder(cs) 39 38 def Changeset cs = new Changeset(1) 39 OsmChangeBuilder builder = new OsmChangeBuilder(cs) 40 40 41 final shouldFail = new GroovyTestCase().&shouldFail 41 42 // should be OK 42 43 // should be OK 43 44 builder.start() 44 45 Node n = new Node(new LatLon(0,0)) 45 46 builder.append n 46 47 builder.finish() 47 48 48 49 shouldFail(IllegalStateException) { 49 50 builder = new OsmChangeBuilder(cs) 50 51 builder.append n 51 52 } 52 53 53 54 shouldFail(IllegalStateException) { 54 55 builder = new OsmChangeBuilder(cs) 55 56 builder.append([n]) 56 57 } 57 58 58 59 shouldFail(IllegalStateException) { 59 60 builder = new OsmChangeBuilder(cs) 60 61 builder.finish() 61 62 } 62 63 63 64 shouldFail(IllegalStateException) { 64 65 builder = new OsmChangeBuilder(cs) 65 66 builder.start() 66 67 builder.start() 67 } 68 } 69 68 } 69 } 70 70 71 @Test 71 72 public void testDocumentWithNewNode() { 72 def Changeset cs = new Changeset(1) 73 def Changeset cs = new Changeset(1) 73 74 OsmChangeBuilder builder = new OsmChangeBuilder(cs) 74 75 Node n = new Node(new LatLon(0,0)) 75 76 builder.start() 77 builder.append n 78 builder.finish() 79 76 77 builder.start() 78 builder.append n 79 builder.finish() 80 80 81 def doc = new XmlParser().parseText(builder.document) 81 82 assert doc.@version == "0.6" … … 85 86 def create = doc.create 86 87 assert create != null 87 88 88 89 assert create.size() == 1 89 90 def nodes = create[0].node … … 93 94 assert node.@lat != null 94 95 assert node.@lon != null 95 assert node.@changeset == cs.id.toString() 96 } 97 98 /** 99 * Test building a document with a modified node 96 assert node.@changeset == cs.id.toString() 97 } 98 99 /** 100 * Test building a document with a modified node 100 101 */ 101 102 @Test 102 103 public void testDocumentWithModifiedNode() { 103 def Changeset cs = new Changeset(1) 104 def Changeset cs = new Changeset(1) 104 105 OsmChangeBuilder builder = new OsmChangeBuilder(cs) 105 106 Node n = new Node(1) … … 107 108 n.incomplete = false 108 109 n.modified = true 109 110 builder.start() 111 builder.append n 112 builder.finish() 113 110 111 builder.start() 112 builder.append n 113 builder.finish() 114 114 115 def doc = new XmlParser().parseText(builder.document) 115 116 assert doc.@version == "0.6" … … 119 120 def modify = doc.modify 120 121 assert modify != null 121 122 122 123 assert modify.size() == 1 123 124 def nodes = modify[0].node … … 127 128 assert node.@lat != null 128 129 assert node.@lon != null 129 assert node.@changeset == cs.id.toString() 130 } 131 132 /** 133 * Test building a document with a deleted node 130 assert node.@changeset == cs.id.toString() 131 } 132 133 /** 134 * Test building a document with a deleted node 134 135 */ 135 136 @Test 136 137 public void testDocumentWithDeletedNode() { 137 def Changeset cs = new Changeset(1) 138 def Changeset cs = new Changeset(1) 138 139 OsmChangeBuilder builder = new OsmChangeBuilder(cs) 139 140 Node n = new Node(1) … … 141 142 n.incomplete = false 142 143 n.deleted = true 143 144 builder.start() 145 builder.append n 146 builder.finish() 147 144 145 builder.start() 146 builder.append n 147 builder.finish() 148 148 149 def doc = new XmlParser().parseText(builder.document) 149 150 assert doc.@version == "0.6" … … 153 154 def delete = doc.delete 154 155 assert delete != null 155 156 156 157 assert delete.size() == 1 157 158 def nodes = delete[0].node … … 159 160 def node = nodes[0] 160 161 assert node.@id == n.uniqueId.toString() 161 assert node.@lat != null162 assert node.@lon != null163 assert node.@changeset == cs.id.toString() 164 } 165 166 /** 167 * Test building a mixed document. 168 * 162 assert node.@lat == null 163 assert node.@lon == null 164 assert node.@changeset == cs.id.toString() 165 } 166 167 /** 168 * Test building a mixed document. 169 * 169 170 */ 170 171 @Test 171 172 public void testMixed() { 172 def Changeset cs = new Changeset(1) 173 def Changeset cs = new Changeset(1) 173 174 OsmChangeBuilder builder = new OsmChangeBuilder(cs) 174 175 Node n1 = new Node(1) … … 176 177 n1.incomplete = false 177 178 n1.deleted = true 178 179 179 180 Node n2 = new Node(new LatLon(0,0)) 180 181 181 182 Node n3 = new Node(2) 182 183 n3.coor = new LatLon(0,0) 183 184 n3.incomplete = false 184 185 n3.modified = true 185 186 186 187 builder.start() 187 188 builder.append([n1,n2,n3]) 188 189 builder.finish() 189 190 def doc = new XmlParser().parseText(builder.document) 191 190 191 def doc = new XmlParser().parseText(builder.document) 192 192 193 assert doc.children().size() == 3 193 194 assert doc.children()[0].name() == "delete" 194 195 assert doc.children()[1].name() == "create" 195 196 assert doc.children()[2].name() == "modify" 196 197 197 198 def node = doc.children()[0].node[0] 198 199 assert node.@id == n1.uniqueId.toString() 199 200 200 201 node = doc.children()[1].node[0] 201 202 assert node.@id == n2.uniqueId.toString() 202 203 203 204 node = doc.children()[2].node[0] 204 assert node.@id == n3.uniqueId.toString() 205 assert node.@id == n3.uniqueId.toString() 205 206 } 206 207 }
Note:
See TracChangeset
for help on using the changeset viewer.
