Changeset 8510 in josm for trunk/test/unit/org/openstreetmap/josm/io
- Timestamp:
- 2015-06-20T23:42:21+02:00 (11 years ago)
- Location:
- trunk/test/unit/org/openstreetmap/josm/io
- Files:
-
- 8 edited
-
ChangesetQueryUrlParserTest.groovy (modified) (1 diff)
-
DiffResultProcessorTest.groovy (modified) (5 diffs)
-
OsmChangeBuilderTest.groovy (modified) (1 diff)
-
OsmChangesetContentParserTest.groovy (modified) (4 diffs)
-
ParseWithChangesetReaderTest.groovy (modified) (6 diffs)
-
remotecontrol/RemoteControlTest.java (modified) (2 diffs)
-
remotecontrol/handler/RequestHandlerTest.java (modified) (1 diff)
-
session/SessionWriterTest.java (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/test/unit/org/openstreetmap/josm/io/ChangesetQueryUrlParserTest.groovy
r7938 r8510 2 2 package org.openstreetmap.josm.io; 3 3 4 5 import java.util.Calendar; 6 import java.util.GregorianCalendar; 7 import java.util.TimeZone; 8 9 import org.junit.Test 10 import org.openstreetmap.josm.io.ChangesetQuery.ChangesetQueryUrlException; 11 import org.openstreetmap.josm.io.ChangesetQuery.ChangesetQueryUrlParser; 12 13 14 import static org.junit.Assert.*; 4 import static org.junit.Assert.* 5 6 import org.junit.Test 7 import org.openstreetmap.josm.io.ChangesetQuery.ChangesetQueryUrlException 8 import org.openstreetmap.josm.io.ChangesetQuery.ChangesetQueryUrlParser 15 9 16 10 class ChangesetQueryUrlParserTest { 17 final shouldFail = new GroovyTestCase().&shouldFail18 19 @Test20 public void test_constructor() {21 ChangesetQueryUrlParser parser = new ChangesetQueryUrlParser();22 }23 24 @Test25 public void test_parse_basic() {26 ChangesetQueryUrlParser parser = new ChangesetQueryUrlParser();27 28 // OK29 parser.parse ""30 31 // should be OK32 ChangesetQuery q = parser.parse(null)33 assert q != null34 35 // should be OK36 q = parser.parse("")37 assert q != null38 }39 40 @Test 41 public void test_uid() {42 ChangesetQueryUrlParser parser = new ChangesetQueryUrlParser();43 def ChangesetQuery q44 45 // OK46 q = parser.parse("uid=1234")47 assert q != null48 49 shouldFail(ChangesetQueryUrlException) {50 q = parser.parse("uid=0")51 }52 53 shouldFail(ChangesetQueryUrlException) {54 q = parser.parse("uid=-1")55 }56 57 shouldFail(ChangesetQueryUrlException) {58 q = parser.parse("uid=abc")59 }60 }61 62 @Test 63 public void test_display_name() {64 ChangesetQueryUrlParser parser = new ChangesetQueryUrlParser();65 def ChangesetQuery q66 67 // OK68 q = parser.parse("display_name=abcd")69 assert q != null70 assert q.@userName == "abcd"71 }72 73 74 @Test 75 public void test_open() {76 ChangesetQueryUrlParser parser = new ChangesetQueryUrlParser();77 def ChangesetQuery q78 79 // OK80 q = parser.parse("open=true")81 assert q != null82 assert q.@open == true83 84 // OK85 q = parser.parse("open=false")86 assert q != null87 assert q.@open == false88 89 // illegal value for open90 shouldFail(ChangesetQueryUrlException) {91 q = parser.parse("open=abcd")92 } 93 }94 95 @Test 96 public void test_closed() {97 ChangesetQueryUrlParser parser = new ChangesetQueryUrlParser();98 def ChangesetQuery q99 100 // OK101 q = parser.parse("closed=true")102 assert q != null103 assert q.@closed == true104 105 // OK106 q = parser.parse("closed=false")107 assert q != null108 assert q.@closed == false109 110 // illegal value for open111 shouldFail(ChangesetQueryUrlException) {112 q = parser.parse("closed=abcd")113 }114 }115 116 117 @Test 118 public void test_uid_and_display_name() {119 ChangesetQueryUrlParser parser = new ChangesetQueryUrlParser();120 def ChangesetQuery q121 122 // we can't have both an uid and a display name123 shouldFail(ChangesetQueryUrlException) {124 q = parser.parse("uid=1&display_name=abcd")125 } 126 }127 128 @Test 129 public void test_time() {130 ChangesetQueryUrlParser parser = new ChangesetQueryUrlParser();131 def ChangesetQuery q132 133 // OK134 q = parser.parse("time=2009-12-25T10:00:00Z")135 assert q != null136 assert q.@closedAfter != null137 Calendar cal = new GregorianCalendar(TimeZone.getTimeZone("GMT+0"));138 cal.setTime(q.@closedAfter);139 assert cal.get(Calendar.YEAR) == 2009140 assert cal.get(Calendar.MONTH) == 11 // calendar is 0-based141 assert cal.get(Calendar.DAY_OF_MONTH) == 25142 assert cal.get(Calendar.HOUR_OF_DAY) == 10143 assert cal.get(Calendar.MINUTE) == 0144 assert cal.get(Calendar.SECOND) == 0145 146 // OK147 q = parser.parse("time=2009-12-25T10:00:00Z,2009-11-25T10:00:00Z")148 assert q!= null149 assert q.@closedAfter != null150 assert q.@createdBefore != null151 152 // should fail153 shouldFail(ChangesetQueryUrlException) {154 q = parser.parse("time=asdf")155 } 156 }157 158 @Test 159 public void test_bbox() {160 ChangesetQueryUrlParser parser = new ChangesetQueryUrlParser();161 def ChangesetQuery q162 163 // OK164 q = parser.parse("bbox=-1,-1,1,1")165 assert q != null166 assert q.@bounds != null167 168 // should fail169 shouldFail(ChangesetQueryUrlException) {170 q = parser.parse("bbox=-91,-1,1,1")171 }172 173 // should fail174 shouldFail(ChangesetQueryUrlException) {175 q = parser.parse("bbox=-1,-181,1,1")176 }177 178 // should fail179 shouldFail(ChangesetQueryUrlException) {180 q = parser.parse("bbox=-1,-1,91,1")181 }182 // should fail183 shouldFail(ChangesetQueryUrlException) {184 q = parser.parse("bbox=-1,-1,1,181")185 } 186 // should fail187 shouldFail(ChangesetQueryUrlException) {188 q = parser.parse("bbox=-1,-1,1")189 } 190 }11 final shouldFail = new GroovyTestCase().&shouldFail 12 13 @Test 14 public void test_constructor() { 15 ChangesetQueryUrlParser parser = new ChangesetQueryUrlParser(); 16 } 17 18 @Test 19 public void test_parse_basic() { 20 ChangesetQueryUrlParser parser = new ChangesetQueryUrlParser(); 21 22 // OK 23 parser.parse "" 24 25 // should be OK 26 ChangesetQuery q = parser.parse(null) 27 assert q != null 28 29 // should be OK 30 q = parser.parse("") 31 assert q != null 32 } 33 34 @Test 35 public void test_uid() { 36 ChangesetQueryUrlParser parser = new ChangesetQueryUrlParser(); 37 def ChangesetQuery q 38 39 // OK 40 q = parser.parse("uid=1234") 41 assert q != null 42 43 shouldFail(ChangesetQueryUrlException) { 44 q = parser.parse("uid=0") 45 } 46 47 shouldFail(ChangesetQueryUrlException) { 48 q = parser.parse("uid=-1") 49 } 50 51 shouldFail(ChangesetQueryUrlException) { 52 q = parser.parse("uid=abc") 53 } 54 } 55 56 @Test 57 public void test_display_name() { 58 ChangesetQueryUrlParser parser = new ChangesetQueryUrlParser(); 59 def ChangesetQuery q 60 61 // OK 62 q = parser.parse("display_name=abcd") 63 assert q != null 64 assert q.@userName == "abcd" 65 } 66 67 68 @Test 69 public void test_open() { 70 ChangesetQueryUrlParser parser = new ChangesetQueryUrlParser(); 71 def ChangesetQuery q 72 73 // OK 74 q = parser.parse("open=true") 75 assert q != null 76 assert q.@open == true 77 78 // OK 79 q = parser.parse("open=false") 80 assert q != null 81 assert q.@open == false 82 83 // illegal value for open 84 shouldFail(ChangesetQueryUrlException) { 85 q = parser.parse("open=abcd") 86 } 87 } 88 89 @Test 90 public void test_closed() { 91 ChangesetQueryUrlParser parser = new ChangesetQueryUrlParser(); 92 def ChangesetQuery q 93 94 // OK 95 q = parser.parse("closed=true") 96 assert q != null 97 assert q.@closed == true 98 99 // OK 100 q = parser.parse("closed=false") 101 assert q != null 102 assert q.@closed == false 103 104 // illegal value for open 105 shouldFail(ChangesetQueryUrlException) { 106 q = parser.parse("closed=abcd") 107 } 108 } 109 110 111 @Test 112 public void test_uid_and_display_name() { 113 ChangesetQueryUrlParser parser = new ChangesetQueryUrlParser(); 114 def ChangesetQuery q 115 116 // we can't have both an uid and a display name 117 shouldFail(ChangesetQueryUrlException) { 118 q = parser.parse("uid=1&display_name=abcd") 119 } 120 } 121 122 @Test 123 public void test_time() { 124 ChangesetQueryUrlParser parser = new ChangesetQueryUrlParser(); 125 def ChangesetQuery q 126 127 // OK 128 q = parser.parse("time=2009-12-25T10:00:00Z") 129 assert q != null 130 assert q.@closedAfter != null 131 Calendar cal = new GregorianCalendar(TimeZone.getTimeZone("GMT+0")); 132 cal.setTime(q.@closedAfter); 133 assert cal.get(Calendar.YEAR) == 2009 134 assert cal.get(Calendar.MONTH) == 11 // calendar is 0-based 135 assert cal.get(Calendar.DAY_OF_MONTH) == 25 136 assert cal.get(Calendar.HOUR_OF_DAY) == 10 137 assert cal.get(Calendar.MINUTE) == 0 138 assert cal.get(Calendar.SECOND) == 0 139 140 // OK 141 q = parser.parse("time=2009-12-25T10:00:00Z,2009-11-25T10:00:00Z") 142 assert q!= null 143 assert q.@closedAfter != null 144 assert q.@createdBefore != null 145 146 // should fail 147 shouldFail(ChangesetQueryUrlException) { 148 q = parser.parse("time=asdf") 149 } 150 } 151 152 @Test 153 public void test_bbox() { 154 ChangesetQueryUrlParser parser = new ChangesetQueryUrlParser(); 155 def ChangesetQuery q 156 157 // OK 158 q = parser.parse("bbox=-1,-1,1,1") 159 assert q != null 160 assert q.@bounds != null 161 162 // should fail 163 shouldFail(ChangesetQueryUrlException) { 164 q = parser.parse("bbox=-91,-1,1,1") 165 } 166 167 // should fail 168 shouldFail(ChangesetQueryUrlException) { 169 q = parser.parse("bbox=-1,-181,1,1") 170 } 171 172 // should fail 173 shouldFail(ChangesetQueryUrlException) { 174 q = parser.parse("bbox=-1,-1,91,1") 175 } 176 // should fail 177 shouldFail(ChangesetQueryUrlException) { 178 q = parser.parse("bbox=-1,-1,1,181") 179 } 180 // should fail 181 shouldFail(ChangesetQueryUrlException) { 182 q = parser.parse("bbox=-1,-1,1") 183 } 184 } 191 185 192 186 @Test -
trunk/test/unit/org/openstreetmap/josm/io/DiffResultProcessorTest.groovy
r8351 r8510 17 17 class DiffResultProcessorTest { 18 18 19 @Test 20 public void testConstructor() { 21 Node n = new Node(1) 22 // these calls should not fail 23 // 24 def DiffResultProcessor processor = new DiffResultProcessor(null) 25 processor = new DiffResultProcessor([]) 26 processor = new DiffResultProcessor([n]) 27 } 19 28 20 @Test 21 public void testConstructor() { 22 Node n = new Node(1) 23 // these calls should not fail 24 // 25 def DiffResultProcessor processor = new DiffResultProcessor(null) 26 processor = new DiffResultProcessor([]) 27 processor = new DiffResultProcessor([n]) 28 } 29 @Test 30 public void testParse_NOK_Cases() { 31 def DiffResultProcessor processor = new DiffResultProcessor([]) 29 32 30 @Test 31 public void testParse_NOK_Cases() { 32 def DiffResultProcessor processor = new DiffResultProcessor([]) 33 final shouldFail = new GroovyTestCase().&shouldFail 33 34 34 final shouldFail = new GroovyTestCase().&shouldFail 35 shouldFail(IllegalArgumentException) { 36 processor.parse null, NullProgressMonitor.INSTANCE 37 } 35 38 36 shouldFail(IllegalArgumentException) {37 processor.parsenull, NullProgressMonitor.INSTANCE38 }39 shouldFail(XmlParsingException) { 40 processor.parse "", NullProgressMonitor.INSTANCE 41 } 39 42 40 shouldFail(XmlParsingException) { 41 processor.parse "", NullProgressMonitor.INSTANCE 42 } 43 shouldFail(XmlParsingException) { 44 processor.parse "<x></x>", NullProgressMonitor.INSTANCE 45 } 46 } 43 47 44 shouldFail(XmlParsingException) { 45 processor.parse "<x></x>", NullProgressMonitor.INSTANCE 46 } 47 } 48 49 @Test 50 public void testParse_OK_Cases() { 51 def DiffResultProcessor processor = new DiffResultProcessor([]) 52 String doc = """\ 53 <diffResult version="0.6" generator="Test Data"> 54 <node old_id="-1" new_id="1" new_version="1"/> 55 <way old_id="-2" new_id="2" new_version="1"/> 56 <relation old_id="-3" new_id="3" new_version="1"/> 57 </diffResult> 58 """ 59 60 processor.parse doc, null 61 assert processor.@diffResults.size() == 3 62 SimplePrimitiveId id = new SimplePrimitiveId(-1, OsmPrimitiveType.NODE) 63 def entry = processor.@diffResults[id] 64 assert entry != null 65 assert entry.newId == 1 66 assert entry.newVersion == 1 67 68 id = new SimplePrimitiveId(-2, OsmPrimitiveType.WAY) 69 entry = processor.@diffResults[id] 70 assert entry != null 71 assert entry.newId == 2 72 assert entry.newVersion == 1 73 74 id = new SimplePrimitiveId(-3, OsmPrimitiveType.RELATION) 75 entry = processor.@diffResults[id] 76 assert entry != null 77 assert entry.newId == 3 78 assert entry.newVersion == 1 79 } 80 81 @Test 82 public void testPostProcess_Invocation_Variants() { 83 def DiffResultProcessor processor = new DiffResultProcessor([]) 84 String doc = """\ 48 @Test 49 public void testParse_OK_Cases() { 50 def DiffResultProcessor processor = new DiffResultProcessor([]) 51 String doc = """\ 85 52 <diffResult version="0.6" generator="Test Data"> 86 53 <node old_id="-1" new_id="1" new_version="1"/> … … 90 57 """ 91 58 92 processor.parse doc, null 59 processor.parse doc, null 60 assert processor.@diffResults.size() == 3 61 SimplePrimitiveId id = new SimplePrimitiveId(-1, OsmPrimitiveType.NODE) 62 def entry = processor.@diffResults[id] 63 assert entry != null 64 assert entry.newId == 1 65 assert entry.newVersion == 1 93 66 94 // should all be ok 95 // 96 processor.postProcess null, null 97 processor.postProcess null, NullProgressMonitor.INSTANCE 98 processor.postProcess new Changeset(1), null 99 processor.postProcess new Changeset(1), NullProgressMonitor.INSTANCE 100 } 67 id = new SimplePrimitiveId(-2, OsmPrimitiveType.WAY) 68 entry = processor.@diffResults[id] 69 assert entry != null 70 assert entry.newId == 2 71 assert entry.newVersion == 1 101 72 102 @Test 103 public void testPostProcess_OK() { 73 id = new SimplePrimitiveId(-3, OsmPrimitiveType.RELATION) 74 entry = processor.@diffResults[id] 75 assert entry != null 76 assert entry.newId == 3 77 assert entry.newVersion == 1 78 } 104 79 105 Node n = new Node() 106 Way w = new Way() 107 Relation r = new Relation() 80 @Test 81 public void testPostProcess_Invocation_Variants() { 82 def DiffResultProcessor processor = new DiffResultProcessor([]) 83 String doc = """\ 84 <diffResult version="0.6" generator="Test Data"> 85 <node old_id="-1" new_id="1" new_version="1"/> 86 <way old_id="-2" new_id="2" new_version="1"/> 87 <relation old_id="-3" new_id="3" new_version="1"/> 88 </diffResult> 89 """ 108 90 109 String doc = """\ 110 <diffResult version="0.6" generator="Test Data"> 111 <node old_id="${n.uniqueId}" new_id="1" new_version="10"/> 112 <way old_id="${w.uniqueId}" new_id="2" new_version="11"/> 113 <relation old_id="${r.uniqueId}" new_id="3" new_version="12"/> 114 </diffResult> 115 """ 91 processor.parse doc, null 116 92 117 def DiffResultProcessor processor = new DiffResultProcessor([n,w,r]) 118 processor.parse doc, null 119 def processed =processor.postProcess(new Changeset(5), null)120 assertprocessed.size() == 3121 n =processed.find {it.uniqueId == 1}122 assert n.changesetId == 5123 assert n.version == 10 93 // should all be ok 94 // 95 processor.postProcess null, null 96 processor.postProcess null, NullProgressMonitor.INSTANCE 97 processor.postProcess new Changeset(1), null 98 processor.postProcess new Changeset(1), NullProgressMonitor.INSTANCE 99 } 124 100 125 w = processed.find {it.uniqueId == 2} 126 assert w.changesetId == 5 127 assert w.version == 11 101 @Test 102 public void testPostProcess_OK() { 128 103 129 r = processed.find {it.uniqueId == 3} 130 assert r.changesetId == 5 131 assert r.version == 12 132 } 104 Node n = new Node() 105 Way w = new Way() 106 Relation r = new Relation() 133 107 134 @Test 135 public void testPostProcess_ForCreatedElement() { 108 String doc = """\ 109 <diffResult version="0.6" generator="Test Data"> 110 <node old_id="${n.uniqueId}" new_id="1" new_version="10"/> 111 <way old_id="${w.uniqueId}" new_id="2" new_version="11"/> 112 <relation old_id="${r.uniqueId}" new_id="3" new_version="12"/> 113 </diffResult> 114 """ 136 115 137 Node n = new Node() 138 String doc = """\ 116 def DiffResultProcessor processor = new DiffResultProcessor([n,w,r]) 117 processor.parse doc, null 118 def processed = processor.postProcess(new Changeset(5), null) 119 assert processed.size() == 3 120 n = processed.find {it.uniqueId == 1} 121 assert n.changesetId == 5 122 assert n.version == 10 123 124 w = processed.find {it.uniqueId == 2} 125 assert w.changesetId == 5 126 assert w.version == 11 127 128 r = processed.find {it.uniqueId == 3} 129 assert r.changesetId == 5 130 assert r.version == 12 131 } 132 133 @Test 134 public void testPostProcess_ForCreatedElement() { 135 136 Node n = new Node() 137 String doc = """\ 139 138 <diffResult version="0.6" generator="Test Data"> 140 139 <node old_id="${n.uniqueId}" new_id="1" new_version="1"/> … … 142 141 """ 143 142 144 def DiffResultProcessor processor = new DiffResultProcessor([n])145 processor.parse doc, null146 def processed = processor.postProcess(new Changeset(5), null)147 assert processed.size() == 1148 n = processed.find {it.uniqueId == 1}149 assert n.changesetId == 5150 assert n.version == 1151 }143 def DiffResultProcessor processor = new DiffResultProcessor([n]) 144 processor.parse doc, null 145 def processed = processor.postProcess(new Changeset(5), null) 146 assert processed.size() == 1 147 n = processed.find {it.uniqueId == 1} 148 assert n.changesetId == 5 149 assert n.version == 1 150 } 152 151 153 @Test154 public void testPostProcess_ForModifiedElement() {152 @Test 153 public void testPostProcess_ForModifiedElement() { 155 154 156 Node n = new Node(1)157 n.coor = new LatLon(1,1)158 n.setOsmId 1, 2159 n.modified = true160 String doc = """\155 Node n = new Node(1) 156 n.coor = new LatLon(1,1) 157 n.setOsmId 1, 2 158 n.modified = true 159 String doc = """\ 161 160 <diffResult version="0.6" generator="Test Data"> 162 161 <node old_id="${n.uniqueId}" new_id="${n.uniqueId}" new_version="3"/> … … 164 163 """ 165 164 166 def DiffResultProcessor processor = new DiffResultProcessor([n])167 processor.parse doc, null168 def processed = processor.postProcess(new Changeset(5), null)169 assert processed.size() == 1170 n = processed.find {it.uniqueId == 1}171 assert n.changesetId == 5172 assert n.version == 3173 }165 def DiffResultProcessor processor = new DiffResultProcessor([n]) 166 processor.parse doc, null 167 def processed = processor.postProcess(new Changeset(5), null) 168 assert processed.size() == 1 169 n = processed.find {it.uniqueId == 1} 170 assert n.changesetId == 5 171 assert n.version == 3 172 } 174 173 175 @Test176 public void testPostProcess_ForDeletedElement() {174 @Test 175 public void testPostProcess_ForDeletedElement() { 177 176 178 Node n = new Node(1)179 n.coor = new LatLon(1,1)180 n.setOsmId 1, 2181 n.deleted = true182 String doc = """\177 Node n = new Node(1) 178 n.coor = new LatLon(1,1) 179 n.setOsmId 1, 2 180 n.deleted = true 181 String doc = """\ 183 182 <diffResult version="0.6" generator="Test Data"> 184 183 <node old_id="${n.uniqueId}"/> … … 186 185 """ 187 186 188 def DiffResultProcessor processor = new DiffResultProcessor([n])189 processor.parse doc, null190 def processed = processor.postProcess(new Changeset(5), null)191 assert processed.size() == 1192 n = processed.find {it.uniqueId == 1}193 assert n.changesetId == 5194 assert n.version == 2195 }187 def DiffResultProcessor processor = new DiffResultProcessor([n]) 188 processor.parse doc, null 189 def processed = processor.postProcess(new Changeset(5), null) 190 assert processed.size() == 1 191 n = processed.find {it.uniqueId == 1} 192 assert n.changesetId == 5 193 assert n.version == 2 194 } 196 195 } -
trunk/test/unit/org/openstreetmap/josm/io/OsmChangeBuilderTest.groovy
r7938 r8510 10 10 class OsmChangeBuilderTest { 11 11 12 /**13 * Test various constructor invocations14 */15 @Test16 public void testConstructor() {17 def Changeset cs = new Changeset(1)18 // should not fail19 OsmChangeBuilder builder = new OsmChangeBuilder(cs)20 21 // should not fail either - null allowed22 builder = new OsmChangeBuilder(null)23 24 // should not fail25 builder = new OsmChangeBuilder(cs, "0.5")26 27 builder = new OsmChangeBuilder(cs, null)28 29 builder = new OsmChangeBuilder(null, null)30 }31 32 /**33 * Test the sequence of method calls. Should throw IllegalStateException if34 * the protocol start(),append()*, finish() is violated.35 */36 @Test37 public void testSequenceOfMethodCalls() {38 def Changeset cs = new Changeset(1)39 OsmChangeBuilder builder = new OsmChangeBuilder(cs)40 41 final shouldFail = new GroovyTestCase().&shouldFail42 43 // should be OK44 builder.start()45 Node n = new Node(new LatLon(0,0))46 builder.append n47 builder.finish()48 49 shouldFail(IllegalStateException) {50 builder = new OsmChangeBuilder(cs)51 builder.append n52 }53 54 shouldFail(IllegalStateException) {55 builder = new OsmChangeBuilder(cs)56 builder.append([n])57 }58 59 shouldFail(IllegalStateException) {60 builder = new OsmChangeBuilder(cs)61 builder.finish()62 }63 64 shouldFail(IllegalStateException) {65 builder = new OsmChangeBuilder(cs)66 builder.start()67 builder.start()68 }69 }70 71 @Test72 public void testDocumentWithNewNode() {73 def Changeset cs = new Changeset(1)74 OsmChangeBuilder builder = new OsmChangeBuilder(cs)75 Node n = new Node(new LatLon(0,0))76 77 builder.start()78 builder.append n79 builder.finish()80 81 def doc = new XmlParser().parseText(builder.document)82 assert doc.@version == "0.6"83 assert doc.@generator == "JOSM"84 assert doc.name() == "osmChange"85 assert doc.children().size() == 186 def create = doc.create87 assert create != null88 89 assert create.size() == 190 def nodes = create[0].node91 assert nodes.size() == 192 def node = nodes[0]93 assert node.@id == n.uniqueId.toString()94 assert node.@lat != null95 assert node.@lon != null96 assert node.@changeset == cs.id.toString()97 }98 99 /**100 * Test building a document with a modified node101 */102 @Test103 public void testDocumentWithModifiedNode() {104 def Changeset cs = new Changeset(1)105 OsmChangeBuilder builder = new OsmChangeBuilder(cs)106 Node n = new Node(1)107 n.coor = new LatLon(0,0)108 n.incomplete = false109 n.modified = true110 111 builder.start()112 builder.append n113 builder.finish()114 115 def doc = new XmlParser().parseText(builder.document)116 assert doc.@version == "0.6"117 assert doc.@generator == "JOSM"118 assert doc.name() == "osmChange"119 assert doc.children().size() == 1120 def modify = doc.modify121 assert modify != null122 123 assert modify.size() == 1124 def nodes = modify[0].node125 assert nodes.size() == 1126 def node = nodes[0]127 assert node.@id == n.uniqueId.toString()128 assert node.@lat != null129 assert node.@lon != null130 assert node.@changeset == cs.id.toString()131 }132 133 /**134 * Test building a document with a deleted node135 */136 @Test137 public void testDocumentWithDeletedNode() {138 def Changeset cs = new Changeset(1)139 OsmChangeBuilder builder = new OsmChangeBuilder(cs)140 Node n = new Node(1)141 n.coor = new LatLon(0,0)142 n.incomplete = false143 n.deleted = true144 145 builder.start()146 builder.append n147 builder.finish()148 149 def doc = new XmlParser().parseText(builder.document)150 assert doc.@version == "0.6"151 assert doc.@generator == "JOSM"152 assert doc.name() == "osmChange"153 assert doc.children().size() == 1154 def delete = doc.delete155 assert delete != null156 157 assert delete.size() == 1158 def nodes = delete[0].node159 assert nodes.size() == 1160 def node = nodes[0]161 assert node.@id == n.uniqueId.toString()162 assert node.@lat == null163 assert node.@lon == null164 assert node.@changeset == cs.id.toString()165 }166 167 /**168 * Test building a mixed document.169 *170 */171 @Test172 public void testMixed() {173 def Changeset cs = new Changeset(1)174 OsmChangeBuilder builder = new OsmChangeBuilder(cs)175 Node n1 = new Node(1)176 n1.coor = new LatLon(0,0)177 n1.incomplete = false178 n1.deleted = true179 180 Node n2 = new Node(new LatLon(0,0))181 182 Node n3 = new Node(2)183 n3.coor = new LatLon(0,0)184 n3.incomplete = false185 n3.modified = true186 187 builder.start()188 builder.append([n1,n2,n3])189 builder.finish()190 191 def doc = new XmlParser().parseText(builder.document)192 193 assert doc.children().size() == 3194 assert doc.children()[0].name() == "delete"195 assert doc.children()[1].name() == "create"196 assert doc.children()[2].name() == "modify"197 198 def node = doc.children()[0].node[0]199 assert node.@id == n1.uniqueId.toString()200 201 node = doc.children()[1].node[0]202 assert node.@id == n2.uniqueId.toString()203 204 node = doc.children()[2].node[0]205 assert node.@id == n3.uniqueId.toString()206 }12 /** 13 * Test various constructor invocations 14 */ 15 @Test 16 public void testConstructor() { 17 def Changeset cs = new Changeset(1) 18 // should not fail 19 OsmChangeBuilder builder = new OsmChangeBuilder(cs) 20 21 // should not fail either - null allowed 22 builder = new OsmChangeBuilder(null) 23 24 // should not fail 25 builder = new OsmChangeBuilder(cs, "0.5") 26 27 builder = new OsmChangeBuilder(cs, null) 28 29 builder = new OsmChangeBuilder(null, null) 30 } 31 32 /** 33 * Test the sequence of method calls. Should throw IllegalStateException if 34 * the protocol start(),append()*, finish() is violated. 35 */ 36 @Test 37 public void testSequenceOfMethodCalls() { 38 def Changeset cs = new Changeset(1) 39 OsmChangeBuilder builder = new OsmChangeBuilder(cs) 40 41 final shouldFail = new GroovyTestCase().&shouldFail 42 43 // should be OK 44 builder.start() 45 Node n = new Node(new LatLon(0,0)) 46 builder.append n 47 builder.finish() 48 49 shouldFail(IllegalStateException) { 50 builder = new OsmChangeBuilder(cs) 51 builder.append n 52 } 53 54 shouldFail(IllegalStateException) { 55 builder = new OsmChangeBuilder(cs) 56 builder.append([n]) 57 } 58 59 shouldFail(IllegalStateException) { 60 builder = new OsmChangeBuilder(cs) 61 builder.finish() 62 } 63 64 shouldFail(IllegalStateException) { 65 builder = new OsmChangeBuilder(cs) 66 builder.start() 67 builder.start() 68 } 69 } 70 71 @Test 72 public void testDocumentWithNewNode() { 73 def Changeset cs = new Changeset(1) 74 OsmChangeBuilder builder = new OsmChangeBuilder(cs) 75 Node n = new Node(new LatLon(0,0)) 76 77 builder.start() 78 builder.append n 79 builder.finish() 80 81 def doc = new XmlParser().parseText(builder.document) 82 assert doc.@version == "0.6" 83 assert doc.@generator == "JOSM" 84 assert doc.name() == "osmChange" 85 assert doc.children().size() == 1 86 def create = doc.create 87 assert create != null 88 89 assert create.size() == 1 90 def nodes = create[0].node 91 assert nodes.size() == 1 92 def node = nodes[0] 93 assert node.@id == n.uniqueId.toString() 94 assert node.@lat != null 95 assert node.@lon != null 96 assert node.@changeset == cs.id.toString() 97 } 98 99 /** 100 * Test building a document with a modified node 101 */ 102 @Test 103 public void testDocumentWithModifiedNode() { 104 def Changeset cs = new Changeset(1) 105 OsmChangeBuilder builder = new OsmChangeBuilder(cs) 106 Node n = new Node(1) 107 n.coor = new LatLon(0,0) 108 n.incomplete = false 109 n.modified = true 110 111 builder.start() 112 builder.append n 113 builder.finish() 114 115 def doc = new XmlParser().parseText(builder.document) 116 assert doc.@version == "0.6" 117 assert doc.@generator == "JOSM" 118 assert doc.name() == "osmChange" 119 assert doc.children().size() == 1 120 def modify = doc.modify 121 assert modify != null 122 123 assert modify.size() == 1 124 def nodes = modify[0].node 125 assert nodes.size() == 1 126 def node = nodes[0] 127 assert node.@id == n.uniqueId.toString() 128 assert node.@lat != null 129 assert node.@lon != null 130 assert node.@changeset == cs.id.toString() 131 } 132 133 /** 134 * Test building a document with a deleted node 135 */ 136 @Test 137 public void testDocumentWithDeletedNode() { 138 def Changeset cs = new Changeset(1) 139 OsmChangeBuilder builder = new OsmChangeBuilder(cs) 140 Node n = new Node(1) 141 n.coor = new LatLon(0,0) 142 n.incomplete = false 143 n.deleted = true 144 145 builder.start() 146 builder.append n 147 builder.finish() 148 149 def doc = new XmlParser().parseText(builder.document) 150 assert doc.@version == "0.6" 151 assert doc.@generator == "JOSM" 152 assert doc.name() == "osmChange" 153 assert doc.children().size() == 1 154 def delete = doc.delete 155 assert delete != null 156 157 assert delete.size() == 1 158 def nodes = delete[0].node 159 assert nodes.size() == 1 160 def node = nodes[0] 161 assert node.@id == n.uniqueId.toString() 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 * 170 */ 171 @Test 172 public void testMixed() { 173 def Changeset cs = new Changeset(1) 174 OsmChangeBuilder builder = new OsmChangeBuilder(cs) 175 Node n1 = new Node(1) 176 n1.coor = new LatLon(0,0) 177 n1.incomplete = false 178 n1.deleted = true 179 180 Node n2 = new Node(new LatLon(0,0)) 181 182 Node n3 = new Node(2) 183 n3.coor = new LatLon(0,0) 184 n3.incomplete = false 185 n3.modified = true 186 187 builder.start() 188 builder.append([n1,n2,n3]) 189 builder.finish() 190 191 def doc = new XmlParser().parseText(builder.document) 192 193 assert doc.children().size() == 3 194 assert doc.children()[0].name() == "delete" 195 assert doc.children()[1].name() == "create" 196 assert doc.children()[2].name() == "modify" 197 198 def node = doc.children()[0].node[0] 199 assert node.@id == n1.uniqueId.toString() 200 201 node = doc.children()[1].node[0] 202 assert node.@id == n2.uniqueId.toString() 203 204 node = doc.children()[2].node[0] 205 assert node.@id == n3.uniqueId.toString() 206 } 207 207 } -
trunk/test/unit/org/openstreetmap/josm/io/OsmChangesetContentParserTest.groovy
r7938 r8510 2 2 package org.openstreetmap.josm.io; 3 3 4 import java.nio.charset.StandardCharsets 5 4 6 import org.junit.Test 5 6 import java.nio.charset.StandardCharsets 7 8 import org.openstreetmap.josm.data.osm.ChangesetDataSet; 9 import org.openstreetmap.josm.data.osm.OsmPrimitiveType; 10 import org.openstreetmap.josm.data.osm.SimplePrimitiveId; 11 import org.openstreetmap.josm.data.osm.ChangesetDataSet.ChangesetModificationType; 12 import org.openstreetmap.josm.data.osm.history.HistoryOsmPrimitive; 13 import org.openstreetmap.josm.data.osm.history.HistoryRelation; 14 import org.openstreetmap.josm.data.osm.history.HistoryWay; 15 import org.openstreetmap.josm.gui.progress.NullProgressMonitor; 16 7 import org.openstreetmap.josm.data.osm.ChangesetDataSet 8 import org.openstreetmap.josm.data.osm.OsmPrimitiveType 9 import org.openstreetmap.josm.data.osm.SimplePrimitiveId 10 import org.openstreetmap.josm.data.osm.ChangesetDataSet.ChangesetModificationType 11 import org.openstreetmap.josm.data.osm.history.HistoryOsmPrimitive 12 import org.openstreetmap.josm.data.osm.history.HistoryRelation 13 import org.openstreetmap.josm.data.osm.history.HistoryWay 14 import org.openstreetmap.josm.gui.progress.NullProgressMonitor 17 15 18 16 class OsmChangesetContentParserTest { 19 final shouldFail = new GroovyTestCase().&shouldFail20 21 @Test22 public void test_Constructor() {23 OsmChangesetContentParser parser24 25 // should be OK26 parser = new OsmChangesetContentParser(new ByteArrayInputStream("".bytes))17 final shouldFail = new GroovyTestCase().&shouldFail 18 19 @Test 20 public void test_Constructor() { 21 OsmChangesetContentParser parser 22 23 // should be OK 24 parser = new OsmChangesetContentParser(new ByteArrayInputStream("".bytes)) 27 25 28 26 shouldFail(IllegalArgumentException) { … … 33 31 parser = new OsmChangesetContentParser((InputStream) null) 34 32 } 35 }36 37 38 @Test39 public void test_parse_arguments() {40 OsmChangesetContentParser parser41 42 def String doc = """43 <osmChange version="0.6" generator="OpenStreetMap server">44 </osmChange>45 """46 47 // should be OK48 parser = new OsmChangesetContentParser(new ByteArrayInputStream(doc.getBytes(StandardCharsets.UTF_8)))49 parser.parse null50 51 // should be OK52 parser = new OsmChangesetContentParser(new ByteArrayInputStream(doc.getBytes(StandardCharsets.UTF_8)))53 parser.parse NullProgressMonitor.INSTANCE54 55 // should be OK56 parser = new OsmChangesetContentParser(doc)57 parser.parse null58 } 59 60 /**61 * A simple changeset content document with one created node62 * 63 */64 @Test65 public void test_OK_OneCreatedNode() {66 OsmChangesetContentParser parser67 68 def String doc = """69 <osmChange version="0.6" generator="OpenStreetMap server"> 70 <create>71 <node id="1" version="1" visible="true" changeset="1" lat="1.0" lon="1.0" timestamp="2009-12-22" />72 </create>73 </osmChange> 74 """ 75 76 // should be OK77 parser = new OsmChangesetContentParser(doc)78 ChangesetDataSet ds = parser.parse()79 80 assert ds.size() == 1 81 HistoryOsmPrimitive p = ds.getPrimitive(new SimplePrimitiveId(1, OsmPrimitiveType.NODE));82 assert p != null83 assert p.getId() == 184 assert p.getVersion() == 185 assert p.getChangesetId() == 186 assert p.getTimestamp() != null87 assert ds.getModificationType(p.getPrimitiveId()) == ChangesetModificationType.CREATED88 assert ds.isCreated(p.getPrimitiveId())89 }90 91 /**92 * A simple changeset content document with one updated node93 * 94 */95 @Test96 public void test_OK_OneUpdatedNode() {97 OsmChangesetContentParser parser98 99 def String doc = """33 } 34 35 36 @Test 37 public void test_parse_arguments() { 38 OsmChangesetContentParser parser 39 40 def String doc = """ 41 <osmChange version="0.6" generator="OpenStreetMap server"> 42 </osmChange> 43 """ 44 45 // should be OK 46 parser = new OsmChangesetContentParser(new ByteArrayInputStream(doc.getBytes(StandardCharsets.UTF_8))) 47 parser.parse null 48 49 // should be OK 50 parser = new OsmChangesetContentParser(new ByteArrayInputStream(doc.getBytes(StandardCharsets.UTF_8))) 51 parser.parse NullProgressMonitor.INSTANCE 52 53 // should be OK 54 parser = new OsmChangesetContentParser(doc) 55 parser.parse null 56 } 57 58 /** 59 * A simple changeset content document with one created node 60 * 61 */ 62 @Test 63 public void test_OK_OneCreatedNode() { 64 OsmChangesetContentParser parser 65 66 def String doc = """ 67 <osmChange version="0.6" generator="OpenStreetMap server"> 68 <create> 69 <node id="1" version="1" visible="true" changeset="1" lat="1.0" lon="1.0" timestamp="2009-12-22" /> 70 </create> 71 </osmChange> 72 """ 73 74 // should be OK 75 parser = new OsmChangesetContentParser(doc) 76 ChangesetDataSet ds = parser.parse() 77 78 assert ds.size() == 1 79 HistoryOsmPrimitive p = ds.getPrimitive(new SimplePrimitiveId(1, OsmPrimitiveType.NODE)); 80 assert p != null 81 assert p.getId() == 1 82 assert p.getVersion() == 1 83 assert p.getChangesetId() == 1 84 assert p.getTimestamp() != null 85 assert ds.getModificationType(p.getPrimitiveId()) == ChangesetModificationType.CREATED 86 assert ds.isCreated(p.getPrimitiveId()) 87 } 88 89 /** 90 * A simple changeset content document with one updated node 91 * 92 */ 93 @Test 94 public void test_OK_OneUpdatedNode() { 95 OsmChangesetContentParser parser 96 97 def String doc = """ 100 98 <osmChange version="0.6" generator="OpenStreetMap server"> 101 99 <modify> … … 104 102 </osmChange> 105 103 """ 106 107 // should be OK108 parser = new OsmChangesetContentParser(doc)109 ChangesetDataSet ds = parser.parse()110 111 assert ds.size() == 1112 HistoryOsmPrimitive p = ds.getPrimitive(new SimplePrimitiveId(1, OsmPrimitiveType.NODE));113 assert p != null114 assert p.getId() == 1115 assert p.getVersion() == 1116 assert p.getChangesetId() == 1117 assert p.getTimestamp() != null118 assert ds.getModificationType(p.getPrimitiveId()) == ChangesetModificationType.UPDATED119 assert ds.isUpdated(p.getPrimitiveId())120 }121 122 /**123 * A simple changeset content document with one deleted node124 * 125 */126 @Test127 public void test_OK_OneDeletedNode() {128 OsmChangesetContentParser parser129 130 def String doc = """104 105 // should be OK 106 parser = new OsmChangesetContentParser(doc) 107 ChangesetDataSet ds = parser.parse() 108 109 assert ds.size() == 1 110 HistoryOsmPrimitive p = ds.getPrimitive(new SimplePrimitiveId(1, OsmPrimitiveType.NODE)); 111 assert p != null 112 assert p.getId() == 1 113 assert p.getVersion() == 1 114 assert p.getChangesetId() == 1 115 assert p.getTimestamp() != null 116 assert ds.getModificationType(p.getPrimitiveId()) == ChangesetModificationType.UPDATED 117 assert ds.isUpdated(p.getPrimitiveId()) 118 } 119 120 /** 121 * A simple changeset content document with one deleted node 122 * 123 */ 124 @Test 125 public void test_OK_OneDeletedNode() { 126 OsmChangesetContentParser parser 127 128 def String doc = """ 131 129 <osmChange version="0.6" generator="OpenStreetMap server"> 132 130 <delete> … … 135 133 </osmChange> 136 134 """ 137 138 // should be OK139 parser = new OsmChangesetContentParser(doc)140 ChangesetDataSet ds = parser.parse()141 142 assert ds.size() == 1143 HistoryOsmPrimitive p = ds.getPrimitive(new SimplePrimitiveId(1, OsmPrimitiveType.NODE));144 assert p != null145 assert p.getId() == 1146 assert p.getVersion() == 1147 assert p.getChangesetId() == 1148 assert p.getTimestamp() != null149 assert ds.getModificationType(p.getPrimitiveId()) == ChangesetModificationType.DELETED150 assert ds.isDeleted(p.getPrimitiveId())151 }152 153 /**154 * A more complex test with a document including nodes, ways, and relations.155 * 156 */157 @Test158 public void test_OK_ComplexTestCase() {159 OsmChangesetContentParser parser160 161 def String doc = """135 136 // should be OK 137 parser = new OsmChangesetContentParser(doc) 138 ChangesetDataSet ds = parser.parse() 139 140 assert ds.size() == 1 141 HistoryOsmPrimitive p = ds.getPrimitive(new SimplePrimitiveId(1, OsmPrimitiveType.NODE)); 142 assert p != null 143 assert p.getId() == 1 144 assert p.getVersion() == 1 145 assert p.getChangesetId() == 1 146 assert p.getTimestamp() != null 147 assert ds.getModificationType(p.getPrimitiveId()) == ChangesetModificationType.DELETED 148 assert ds.isDeleted(p.getPrimitiveId()) 149 } 150 151 /** 152 * A more complex test with a document including nodes, ways, and relations. 153 * 154 */ 155 @Test 156 public void test_OK_ComplexTestCase() { 157 OsmChangesetContentParser parser 158 159 def String doc = """ 162 160 <osmChange version="0.6" generator="OpenStreetMap server"> 163 161 <create> 164 162 <node id="1" version="1" visible="true" changeset="1" lat="1.0" lon="1.0" timestamp="2009-12-22"> 165 <tag k="a.key" v="a.value" />166 </node>163 <tag k="a.key" v="a.value" /> 164 </node> 167 165 </create> 168 166 <modify> 169 167 <way id="2" version="2" visible="true" changeset="1" timestamp="2009-12-22"> 170 <nd ref="21"/>171 <nd ref="22"/>172 </way>168 <nd ref="21"/> 169 <nd ref="22"/> 170 </way> 173 171 </modify> 174 <delete>172 <delete> 175 173 <relation id="3" version="3" visible="true" changeset="1" timestamp="2009-12-22" /> 176 174 </delete> 177 175 </osmChange> 178 176 """ 179 180 // should be OK181 parser = new OsmChangesetContentParser(doc)182 ChangesetDataSet ds = parser.parse()183 184 assert ds.size() == 3185 186 HistoryOsmPrimitive p = ds.getPrimitive(new SimplePrimitiveId(1, OsmPrimitiveType.NODE));187 assert p != null188 assert p.getId() == 1189 assert p.getVersion() == 1190 assert p.getChangesetId() == 1191 assert p.getTimestamp() != null192 assert ds.getModificationType(p.getPrimitiveId()) == ChangesetModificationType.CREATED193 assert ds.isCreated(p.getPrimitiveId())194 assert p.get("a.key") == "a.value"195 196 HistoryWay w = (HistoryWay)ds.getPrimitive(new SimplePrimitiveId(2, OsmPrimitiveType.WAY));197 assert w != null198 assert w.getId() == 2199 assert w.getVersion() == 2200 assert w.getChangesetId() == 1201 assert w.getTimestamp() != null202 assert ds.getModificationType(w.getPrimitiveId()) == ChangesetModificationType.UPDATED203 assert ds.isUpdated(w.getPrimitiveId())204 assert w.getNumNodes() == 2205 assert w.getNodes() == [21,22]206 207 HistoryRelation r = (HistoryRelation)ds.getPrimitive(new SimplePrimitiveId(3, OsmPrimitiveType.RELATION));208 assert r != null209 assert r.getId() == 3210 assert r.getVersion() == 3211 assert r.getChangesetId() == 1212 assert r.getTimestamp() != null213 assert ds.getModificationType(r.getPrimitiveId()) == ChangesetModificationType.DELETED214 assert ds.isDeleted(r.getPrimitiveId())215 }177 178 // should be OK 179 parser = new OsmChangesetContentParser(doc) 180 ChangesetDataSet ds = parser.parse() 181 182 assert ds.size() == 3 183 184 HistoryOsmPrimitive p = ds.getPrimitive(new SimplePrimitiveId(1, OsmPrimitiveType.NODE)); 185 assert p != null 186 assert p.getId() == 1 187 assert p.getVersion() == 1 188 assert p.getChangesetId() == 1 189 assert p.getTimestamp() != null 190 assert ds.getModificationType(p.getPrimitiveId()) == ChangesetModificationType.CREATED 191 assert ds.isCreated(p.getPrimitiveId()) 192 assert p.get("a.key") == "a.value" 193 194 HistoryWay w = (HistoryWay)ds.getPrimitive(new SimplePrimitiveId(2, OsmPrimitiveType.WAY)); 195 assert w != null 196 assert w.getId() == 2 197 assert w.getVersion() == 2 198 assert w.getChangesetId() == 1 199 assert w.getTimestamp() != null 200 assert ds.getModificationType(w.getPrimitiveId()) == ChangesetModificationType.UPDATED 201 assert ds.isUpdated(w.getPrimitiveId()) 202 assert w.getNumNodes() == 2 203 assert w.getNodes() == [21,22] 204 205 HistoryRelation r = (HistoryRelation)ds.getPrimitive(new SimplePrimitiveId(3, OsmPrimitiveType.RELATION)); 206 assert r != null 207 assert r.getId() == 3 208 assert r.getVersion() == 3 209 assert r.getChangesetId() == 1 210 assert r.getTimestamp() != null 211 assert ds.getModificationType(r.getPrimitiveId()) == ChangesetModificationType.DELETED 212 assert ds.isDeleted(r.getPrimitiveId()) 213 } 216 214 } -
trunk/test/unit/org/openstreetmap/josm/io/ParseWithChangesetReaderTest.groovy
r7938 r8510 20 20 } 21 21 22 /**23 * A new node with a changeset id. Ignore it.24 */25 @Test26 public void test_1() {27 String doc = """\22 /** 23 * A new node with a changeset id. Ignore it. 24 */ 25 @Test 26 public void test_1() { 27 String doc = """\ 28 28 <osm version="0.6"> 29 29 <node id="-1" lat="0.0" lon="0.0" changeset="1"> … … 33 33 """ 34 34 35 DataSet ds = getDataSet(doc)36 Node n = ds.nodes.find {it.get("external-id") == "-1"} 37 assert n != null38 assert n.changesetId == 039 }40 41 /**42 * A new node with an invalid changeset id. Ignore it.43 */44 @Test45 public void test_11() {46 String doc = """\35 DataSet ds = getDataSet(doc) 36 Node n = ds.nodes.find {it.get("external-id") == "-1"} 37 assert n != null 38 assert n.changesetId == 0 39 } 40 41 /** 42 * A new node with an invalid changeset id. Ignore it. 43 */ 44 @Test 45 public void test_11() { 46 String doc = """\ 47 47 <osm version="0.6"> 48 48 <node id="-1" lat="0.0" lon="0.0" changeset="0"> 49 <tag k="external-id" v="-1"/>50 </node>51 </osm> 52 """ 53 54 DataSet ds = getDataSet(doc) 55 Node n = ds.nodes.find {it.get("external-id") == "-1"}56 assert n != null57 assert n.changesetId == 058 }59 60 /**61 * A new node with an invalid changeset id. Ignore it.62 */63 @Test64 public void test_12() {65 String doc = """\49 <tag k="external-id" v="-1"/> 50 </node> 51 </osm> 52 """ 53 54 DataSet ds = getDataSet(doc) 55 Node n = ds.nodes.find {it.get("external-id") == "-1"} 56 assert n != null 57 assert n.changesetId == 0 58 } 59 60 /** 61 * A new node with an invalid changeset id. Ignore it. 62 */ 63 @Test 64 public void test_12() { 65 String doc = """\ 66 66 <osm version="0.6"> 67 67 <node id="-1" lat="0.0" lon="0.0" changeset="-1"> 68 <tag k="external-id" v="-1"/>69 </node> 70 </osm> 71 """ 72 73 DataSet ds = getDataSet(doc) 74 Node n = ds.nodes.find {it.get("external-id") == "-1"}75 assert n != null76 assert n.changesetId == 077 }78 79 /**80 * A new node with an invalid changeset id. Ignore it.81 */82 @Test83 public void test_13() {84 String doc = """\68 <tag k="external-id" v="-1"/> 69 </node> 70 </osm> 71 """ 72 73 DataSet ds = getDataSet(doc) 74 Node n = ds.nodes.find {it.get("external-id") == "-1"} 75 assert n != null 76 assert n.changesetId == 0 77 } 78 79 /** 80 * A new node with an invalid changeset id. Ignore it. 81 */ 82 @Test 83 public void test_13() { 84 String doc = """\ 85 85 <osm version="0.6"> 86 86 <node id="-1" lat="0.0" lon="0.0" changeset="aaa"> 87 <tag k="external-id" v="-1"/>88 </node> 89 </osm> 90 """ 91 92 DataSet ds = getDataSet(doc) 93 Node n = ds.nodes.find {it.get("external-id") == "-1"}94 assert n != null95 assert n.changesetId == 096 }97 98 /**99 * A new node with a missing changeset id. That's fine. The changeset id100 * is reset to 0.101 */102 @Test103 public void test_14() {104 String doc = """\87 <tag k="external-id" v="-1"/> 88 </node> 89 </osm> 90 """ 91 92 DataSet ds = getDataSet(doc) 93 Node n = ds.nodes.find {it.get("external-id") == "-1"} 94 assert n != null 95 assert n.changesetId == 0 96 } 97 98 /** 99 * A new node with a missing changeset id. That's fine. The changeset id 100 * is reset to 0. 101 */ 102 @Test 103 public void test_14() { 104 String doc = """\ 105 105 <osm version="0.6"> 106 106 <node id="-1" lat="0.0" lon="0.0" > 107 <tag k="external-id" v="-1"/>108 </node> 109 </osm> 110 """ 111 112 DataSet ds = getDataSet(doc) 113 Node n = ds.nodes.find {it.get("external-id") == "-1"}114 assert n != null115 assert n.changesetId == 0116 }117 118 119 /**120 * An existing node with a missing changeset id. That's fine. The changeset id121 * is reset to 0.122 */123 @Test124 public void test_2() {125 String doc = """\107 <tag k="external-id" v="-1"/> 108 </node> 109 </osm> 110 """ 111 112 DataSet ds = getDataSet(doc) 113 Node n = ds.nodes.find {it.get("external-id") == "-1"} 114 assert n != null 115 assert n.changesetId == 0 116 } 117 118 119 /** 120 * An existing node with a missing changeset id. That's fine. The changeset id 121 * is reset to 0. 122 */ 123 @Test 124 public void test_2() { 125 String doc = """\ 126 126 <osm version="0.6"> 127 127 <node id="1" lat="0.0" lon="0.0" version="1"/> … … 130 130 131 131 DataSet ds = getDataSet(doc) 132 Node n = ds.getPrimitiveById(1, OsmPrimitiveType.NODE)133 assert n != null134 assert n.uniqueId == 1135 assert n.changesetId == 0136 }137 138 /**132 Node n = ds.getPrimitiveById(1, OsmPrimitiveType.NODE) 133 assert n != null 134 assert n.uniqueId == 1 135 assert n.changesetId == 0 136 } 137 138 /** 139 139 * An existing node with a valid changeset id id. That's fine. The changeset id 140 140 * is applied. 141 141 */ 142 @Test143 public void test_3() {144 String doc = """\142 @Test 143 public void test_3() { 144 String doc = """\ 145 145 <osm version="0.6"> 146 146 <node id="1" lat="0.0" lon="0.0" version="1" changeset="4"/> … … 149 149 150 150 DataSet ds = getDataSet(doc) 151 Node n = ds.getPrimitiveById(1, OsmPrimitiveType.NODE)152 assert n != null153 assert n.uniqueId == 1154 assert n.changesetId == 4155 }156 157 /**158 * An existing node with an invalid changeset id. That's a problem. An exception159 * is thrown.160 */161 @Test162 public void test_4() {163 String doc = """\151 Node n = ds.getPrimitiveById(1, OsmPrimitiveType.NODE) 152 assert n != null 153 assert n.uniqueId == 1 154 assert n.changesetId == 4 155 } 156 157 /** 158 * An existing node with an invalid changeset id. That's a problem. An exception 159 * is thrown. 160 */ 161 @Test 162 public void test_4() { 163 String doc = """\ 164 164 <osm version="0.6"> 165 165 <node id="1" lat="0.0" lon="0.0" version="1" changeset="-1"/> … … 167 167 """ 168 168 169 final shouldFail = new GroovyTestCase().&shouldFail170 171 shouldFail(IllegalDataException) {169 final shouldFail = new GroovyTestCase().&shouldFail 170 171 shouldFail(IllegalDataException) { 172 172 DataSet ds = getDataSet(doc) 173 }174 }175 /**176 * An existing node with an invalid changeset id. That's a problem. An exception177 * is thrown.178 */179 @Test180 public void test_5() {181 String doc = """\173 } 174 } 175 /** 176 * An existing node with an invalid changeset id. That's a problem. An exception 177 * is thrown. 178 */ 179 @Test 180 public void test_5() { 181 String doc = """\ 182 182 <osm version="0.6"> 183 183 <node id="1" lat="0.0" lon="0.0" version="1" changeset="0"/> … … 185 185 """ 186 186 187 final shouldFail = new GroovyTestCase().&shouldFail188 189 shouldFail(IllegalDataException) {187 final shouldFail = new GroovyTestCase().&shouldFail 188 189 shouldFail(IllegalDataException) { 190 190 DataSet ds = getDataSet(doc) 191 }192 }193 /**194 * An existing node with an invalid changeset id. That's a problem. An exception195 * is thrown.196 */197 @Test198 public void test_6() {199 String doc = """\200 <osm version="0.6">201 <node id="1" lat="0.0" lon="0.0" version="1" changeset="abc"/>202 </osm>203 """204 205 final shouldFail = new GroovyTestCase().&shouldFail206 207 shouldFail(IllegalDataException) {191 } 192 } 193 /** 194 * An existing node with an invalid changeset id. That's a problem. An exception 195 * is thrown. 196 */ 197 @Test 198 public void test_6() { 199 String doc = """\ 200 <osm version="0.6"> 201 <node id="1" lat="0.0" lon="0.0" version="1" changeset="abc"/> 202 </osm> 203 """ 204 205 final shouldFail = new GroovyTestCase().&shouldFail 206 207 shouldFail(IllegalDataException) { 208 208 DataSet ds = getDataSet(doc) 209 }210 }209 } 210 } 211 211 } -
trunk/test/unit/org/openstreetmap/josm/io/remotecontrol/RemoteControlTest.java
r7937 r8510 72 72 return null; 73 73 } 74 74 75 public void checkClientTrusted(X509Certificate[] certs, String authType) { 75 76 } 77 76 78 public void checkServerTrusted(X509Certificate[] certs, String authType) { 77 79 } … … 137 139 try (BufferedReader in = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8))) { 138 140 String s; 139 while((s = in.readLine()) != null) { 141 while ((s = in.readLine()) != null) { 140 142 responseBody.append(s); 141 143 responseBody.append("\n"); -
trunk/test/unit/org/openstreetmap/josm/io/remotecontrol/handler/RequestHandlerTest.java
r8509 r8510 43 43 } 44 44 45 46 45 @Test 47 46 public void testRequestParameter1() { -
trunk/test/unit/org/openstreetmap/josm/io/session/SessionWriterTest.java
r8338 r8510 33 33 super(layer); 34 34 } 35 35 36 @Override 36 37 public boolean requiresZip() { … … 43 44 super(layer); 44 45 } 46 45 47 @Override 46 48 public boolean requiresZip() { … … 93 95 } 94 96 SessionWriter sw = new SessionWriter(layers, -1, exporters, new MultiMap<Layer, Layer>(), zip); 95 File file = new File(System.getProperty("java.io.tmpdir"), getClass().getName()+(zip ?".joz":".jos"));97 File file = new File(System.getProperty("java.io.tmpdir"), getClass().getName()+(zip ? ".joz" : ".jos")); 96 98 try { 97 99 sw.write(file);
Note:
See TracChangeset
for help on using the changeset viewer.
