Ignore:
Timestamp:
2015-06-20T23:42:21+02:00 (11 years ago)
Author:
Don-vip
Message:

checkstyle: enable relevant whitespace checks and fix them

Location:
trunk/test/unit/org/openstreetmap/josm/io
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/test/unit/org/openstreetmap/josm/io/ChangesetQueryUrlParserTest.groovy

    r7938 r8510  
    22package org.openstreetmap.josm.io;
    33
    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.*;
     4import static org.junit.Assert.*
     5
     6import org.junit.Test
     7import org.openstreetmap.josm.io.ChangesetQuery.ChangesetQueryUrlException
     8import org.openstreetmap.josm.io.ChangesetQuery.ChangesetQueryUrlParser
    159
    1610class ChangesetQueryUrlParserTest {
    17         final shouldFail = new GroovyTestCase().&shouldFail
    18        
    19         @Test
    20         public void test_constructor() {
    21             ChangesetQueryUrlParser parser = new ChangesetQueryUrlParser();
    22         }
    23        
    24         @Test
    25         public void test_parse_basic() {
    26                 ChangesetQueryUrlParser parser = new ChangesetQueryUrlParser();
    27                
    28                 // OK
    29                 parser.parse ""
    30                
    31                 // should be OK
    32                 ChangesetQuery q = parser.parse(null)
    33                 assert q != null
    34                
    35                 // should be OK
    36                 q = parser.parse("")
    37                 assert q != null
    38         }
    39        
    40         @Test
    41         public void test_uid() {
    42                 ChangesetQueryUrlParser parser = new ChangesetQueryUrlParser();
    43                 def ChangesetQuery q
    44                
    45                 // OK
    46                 q = parser.parse("uid=1234")
    47                 assert q != null
    48                
    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 q
    66                
    67                 // OK
    68                 q = parser.parse("display_name=abcd")
    69                 assert q != null
    70                 assert q.@userName == "abcd"
    71         }
    72        
    73        
    74         @Test
    75         public void test_open() {
    76                 ChangesetQueryUrlParser parser = new ChangesetQueryUrlParser();
    77                 def ChangesetQuery q
    78                
    79                 // OK
    80                 q = parser.parse("open=true")
    81                 assert q != null
    82                 assert q.@open == true
    83                
    84                 // OK
    85                 q = parser.parse("open=false")
    86                 assert q != null
    87                 assert q.@open == false
    88                
    89                 // illegal value for open 
    90                 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 q
    99                
    100                 // OK
    101                 q = parser.parse("closed=true")
    102                 assert q != null
    103                 assert q.@closed == true
    104                
    105                 // OK
    106                 q = parser.parse("closed=false")
    107                 assert q != null
    108                 assert q.@closed == false
    109                
    110                 // illegal value for open 
    111                 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 q
    121                
    122                 // we can't have both an uid and a display name 
    123                 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 q
    132                
    133                 // OK
    134                 q = parser.parse("time=2009-12-25T10:00:00Z")
    135                 assert q != null
    136                 assert q.@closedAfter != null   
    137                 Calendar cal = new GregorianCalendar(TimeZone.getTimeZone("GMT+0"));
    138                 cal.setTime(q.@closedAfter);
    139                 assert cal.get(Calendar.YEAR) == 2009
    140                 assert cal.get(Calendar.MONTH) == 11 // calendar is 0-based
    141                 assert cal.get(Calendar.DAY_OF_MONTH) == 25
    142                 assert cal.get(Calendar.HOUR_OF_DAY) == 10
    143                 assert cal.get(Calendar.MINUTE) == 0
    144                 assert cal.get(Calendar.SECOND) == 0
    145                
    146                 // OK
    147                 q = parser.parse("time=2009-12-25T10:00:00Z,2009-11-25T10:00:00Z")
    148                 assert q!= null
    149                 assert q.@closedAfter != null
    150                 assert q.@createdBefore != null
    151                
    152                 // should fail
    153                 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 q
    162                
    163                 // OK
    164                 q = parser.parse("bbox=-1,-1,1,1")
    165                 assert q != null
    166                 assert q.@bounds != null
    167                
    168                 // should fail
    169                 shouldFail(ChangesetQueryUrlException) {
    170                         q = parser.parse("bbox=-91,-1,1,1")               
    171                 }           
    172                                
    173                 // should fail
    174                 shouldFail(ChangesetQueryUrlException) {
    175                         q = parser.parse("bbox=-1,-181,1,1")               
    176                 }           
    177                
    178                 // should fail
    179                 shouldFail(ChangesetQueryUrlException) {
    180                         q = parser.parse("bbox=-1,-1,91,1")               
    181                 }           
    182                 // should fail
    183                 shouldFail(ChangesetQueryUrlException) {
    184                         q = parser.parse("bbox=-1,-1,1,181")               
    185                 } 
    186                 // should fail
    187                 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    }
    191185
    192186    @Test
  • trunk/test/unit/org/openstreetmap/josm/io/DiffResultProcessorTest.groovy

    r8351 r8510  
    1717class DiffResultProcessorTest {
    1818
     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    }
    1928
    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([])
    2932
    30         @Test
    31         public void testParse_NOK_Cases() {
    32                 def DiffResultProcessor processor  = new DiffResultProcessor([])
     33        final shouldFail = new GroovyTestCase().&shouldFail
    3334
    34                 final shouldFail = new GroovyTestCase().&shouldFail
     35        shouldFail(IllegalArgumentException) {
     36            processor.parse null, NullProgressMonitor.INSTANCE
     37        }
    3538
    36                 shouldFail(IllegalArgumentException) {
    37                     processor.parse null, NullProgressMonitor.INSTANCE
    38                 }
     39        shouldFail(XmlParsingException) {
     40            processor.parse "", NullProgressMonitor.INSTANCE
     41        }
    3942
    40                 shouldFail(XmlParsingException) {
    41                         processor.parse "", NullProgressMonitor.INSTANCE
    42                 }
     43        shouldFail(XmlParsingException) {
     44            processor.parse "<x></x>", NullProgressMonitor.INSTANCE
     45        }
     46    }
    4347
    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 = """\
    8552        <diffResult version="0.6" generator="Test Data">
    8653            <node old_id="-1" new_id="1" new_version="1"/>
     
    9057        """
    9158
    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
    9366
    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
    10172
    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    }
    10479
    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        """
    10890
    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
    11692
    117                 def DiffResultProcessor processor  = new DiffResultProcessor([n,w,r])
    118                 processor.parse doc, null
    119                 def processed = processor.postProcess(new Changeset(5), null)
    120                 assert processed.size() == 3
    121                 n = processed.find {it.uniqueId == 1}
    122                 assert n.changesetId == 5
    123                 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    }
    124100
    125                 w = processed.find {it.uniqueId == 2}
    126                 assert w.changesetId == 5
    127                 assert w.version == 11
     101    @Test
     102    public void testPostProcess_OK() {
    128103
    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()
    133107
    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            """
    136115
    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 = """\
    139138            <diffResult version="0.6" generator="Test Data">
    140139                <node old_id="${n.uniqueId}" new_id="1" new_version="1"/>
     
    142141            """
    143142
    144                 def DiffResultProcessor processor  = new DiffResultProcessor([n])
    145                 processor.parse doc, null
    146                 def processed = processor.postProcess(new Changeset(5), null)
    147                 assert processed.size() == 1
    148                 n = processed.find {it.uniqueId == 1}
    149                 assert n.changesetId == 5
    150                 assert n.version == 1
    151         }
     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    }
    152151
    153         @Test
    154         public void testPostProcess_ForModifiedElement() {
     152    @Test
     153    public void testPostProcess_ForModifiedElement() {
    155154
    156                 Node n = new Node(1)
    157                 n.coor = new LatLon(1,1)
    158                 n.setOsmId 1, 2
    159                 n.modified = true
    160                 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 = """\
    161160            <diffResult version="0.6" generator="Test Data">
    162161                <node old_id="${n.uniqueId}" new_id="${n.uniqueId}" new_version="3"/>
     
    164163            """
    165164
    166                 def DiffResultProcessor processor  = new DiffResultProcessor([n])
    167                 processor.parse doc, null
    168                 def processed = processor.postProcess(new Changeset(5), null)
    169                 assert processed.size() == 1
    170                 n = processed.find {it.uniqueId == 1}
    171                 assert n.changesetId == 5
    172                 assert n.version == 3
    173         }
     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    }
    174173
    175         @Test
    176         public void testPostProcess_ForDeletedElement() {
     174    @Test
     175    public void testPostProcess_ForDeletedElement() {
    177176
    178                 Node n = new Node(1)
    179                 n.coor = new LatLon(1,1)
    180                 n.setOsmId 1, 2
    181                 n.deleted = true
    182                 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 = """\
    183182            <diffResult version="0.6" generator="Test Data">
    184183                <node old_id="${n.uniqueId}"/>
     
    186185            """
    187186
    188                 def DiffResultProcessor processor  = new DiffResultProcessor([n])
    189                 processor.parse doc, null
    190                 def processed = processor.postProcess(new Changeset(5), null)
    191                 assert processed.size() == 1
    192                 n = processed.find {it.uniqueId == 1}
    193                 assert n.changesetId == 5
    194                 assert n.version == 2
    195         }
     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    }
    196195}
  • trunk/test/unit/org/openstreetmap/josm/io/OsmChangeBuilderTest.groovy

    r7938 r8510  
    1010class OsmChangeBuilderTest {
    1111
    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         }
     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    }
    207207}
  • trunk/test/unit/org/openstreetmap/josm/io/OsmChangesetContentParserTest.groovy

    r7938 r8510  
    22package org.openstreetmap.josm.io;
    33
     4import java.nio.charset.StandardCharsets
     5
    46import 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 
     7import org.openstreetmap.josm.data.osm.ChangesetDataSet
     8import org.openstreetmap.josm.data.osm.OsmPrimitiveType
     9import org.openstreetmap.josm.data.osm.SimplePrimitiveId
     10import org.openstreetmap.josm.data.osm.ChangesetDataSet.ChangesetModificationType
     11import org.openstreetmap.josm.data.osm.history.HistoryOsmPrimitive
     12import org.openstreetmap.josm.data.osm.history.HistoryRelation
     13import org.openstreetmap.josm.data.osm.history.HistoryWay
     14import org.openstreetmap.josm.gui.progress.NullProgressMonitor
    1715
    1816class OsmChangesetContentParserTest {
    19         final shouldFail = new GroovyTestCase().&shouldFail
    20 
    21         @Test
    22         public void test_Constructor() {
    23             OsmChangesetContentParser parser 
    24                
    25                 // should be OK 
    26                 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))
    2725
    2826        shouldFail(IllegalArgumentException) {
     
    3331            parser = new OsmChangesetContentParser((InputStream) null)
    3432        }
    35         }
    36        
    37        
    38         @Test
    39         public void test_parse_arguments() {
    40                 OsmChangesetContentParser parser 
    41                
    42                 def String doc = """
    43                     <osmChange version="0.6" generator="OpenStreetMap server">
    44                     </osmChange>
    45                 """
    46                
    47                 // should be OK 
    48                 parser = new OsmChangesetContentParser(new ByteArrayInputStream(doc.getBytes(StandardCharsets.UTF_8)))
    49                 parser.parse null
    50                
    51                 // should be OK 
    52                 parser = new OsmChangesetContentParser(new ByteArrayInputStream(doc.getBytes(StandardCharsets.UTF_8)))
    53                 parser.parse NullProgressMonitor.INSTANCE
    54                
    55                 // should be OK 
    56                 parser = new OsmChangesetContentParser(doc)     
    57                 parser.parse null               
    58         }       
    59        
    60         /**
    61         * A simple changeset content document with one created node 
    62          *
    63         */
    64         @Test
    65         public void test_OK_OneCreatedNode() {
    66                 OsmChangesetContentParser parser 
    67                
    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 OK 
    77                 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 != null
    83                 assert p.getId() == 1
    84                 assert p.getVersion() == 1
    85                 assert p.getChangesetId() == 1
    86                 assert p.getTimestamp() != null
    87                 assert ds.getModificationType(p.getPrimitiveId()) == ChangesetModificationType.CREATED
    88                 assert ds.isCreated(p.getPrimitiveId())
    89         }
    90        
    91         /**
    92         * A simple changeset content document with one updated node 
    93          *
    94         */
    95         @Test
    96         public void test_OK_OneUpdatedNode() {
    97                 OsmChangesetContentParser parser 
    98                
    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 = """
    10098            <osmChange version="0.6" generator="OpenStreetMap server">
    10199              <modify>
     
    104102            </osmChange>
    105103        """
    106                
    107                 // should be OK 
    108                 parser = new OsmChangesetContentParser(doc) 
    109                 ChangesetDataSet ds = parser.parse()
    110                
    111                 assert ds.size() == 1       
    112                 HistoryOsmPrimitive p = ds.getPrimitive(new SimplePrimitiveId(1, OsmPrimitiveType.NODE));
    113                 assert p != null
    114                 assert p.getId() == 1
    115                 assert p.getVersion() == 1
    116                 assert p.getChangesetId() == 1
    117                 assert p.getTimestamp() != null
    118                 assert ds.getModificationType(p.getPrimitiveId()) == ChangesetModificationType.UPDATED
    119                 assert ds.isUpdated(p.getPrimitiveId())
    120         }
    121        
    122         /**
    123         * A simple changeset content document with one deleted node 
    124          *
    125         */
    126         @Test
    127         public void test_OK_OneDeletedNode() {
    128                 OsmChangesetContentParser parser 
    129                
    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 = """
    131129            <osmChange version="0.6" generator="OpenStreetMap server">
    132130              <delete>
     
    135133            </osmChange>
    136134        """
    137                
    138                 // should be OK 
    139                 parser = new OsmChangesetContentParser(doc) 
    140                 ChangesetDataSet ds = parser.parse()
    141                
    142                 assert ds.size() == 1       
    143                 HistoryOsmPrimitive p = ds.getPrimitive(new SimplePrimitiveId(1, OsmPrimitiveType.NODE));
    144                 assert p != null
    145                 assert p.getId() == 1
    146                 assert p.getVersion() == 1
    147                 assert p.getChangesetId() == 1
    148                 assert p.getTimestamp() != null
    149                 assert ds.getModificationType(p.getPrimitiveId()) == ChangesetModificationType.DELETED
    150                 assert ds.isDeleted(p.getPrimitiveId())
    151         }
    152        
    153         /**
    154         * A more complex test with a document including nodes, ways, and relations. 
    155          *
    156         */
    157         @Test
    158         public void test_OK_ComplexTestCase() {
    159                 OsmChangesetContentParser parser 
    160                
    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 = """
    162160            <osmChange version="0.6" generator="OpenStreetMap server">
    163161              <create>
    164162                <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>
    167165              </create>
    168166              <modify>
    169167               <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>
    173171             </modify>
    174                      <delete>
     172             <delete>
    175173                <relation id="3" version="3" visible="true" changeset="1" timestamp="2009-12-22" />
    176174              </delete>
    177175            </osmChange>
    178176        """
    179                
    180                 // should be OK 
    181                 parser = new OsmChangesetContentParser(doc) 
    182                 ChangesetDataSet ds = parser.parse()
    183                
    184                 assert ds.size() == 3       
    185                
    186                 HistoryOsmPrimitive p = ds.getPrimitive(new SimplePrimitiveId(1, OsmPrimitiveType.NODE));
    187                 assert p != null
    188                 assert p.getId() == 1
    189                 assert p.getVersion() == 1
    190                 assert p.getChangesetId() == 1
    191                 assert p.getTimestamp() != null
    192                 assert ds.getModificationType(p.getPrimitiveId()) == ChangesetModificationType.CREATED
    193                 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 != null
    198                 assert w.getId() == 2
    199                 assert w.getVersion() == 2
    200                 assert w.getChangesetId() == 1
    201                 assert w.getTimestamp() != null
    202                 assert ds.getModificationType(w.getPrimitiveId()) == ChangesetModificationType.UPDATED
    203                 assert ds.isUpdated(w.getPrimitiveId())
    204                 assert w.getNumNodes() == 2
    205                 assert w.getNodes() == [21,22]
    206                
    207                 HistoryRelation r = (HistoryRelation)ds.getPrimitive(new SimplePrimitiveId(3, OsmPrimitiveType.RELATION));
    208                 assert r != null
    209                 assert r.getId() == 3
    210                 assert r.getVersion() == 3
    211                 assert r.getChangesetId() == 1
    212                 assert r.getTimestamp() != null
    213                 assert ds.getModificationType(r.getPrimitiveId()) == ChangesetModificationType.DELETED
    214                 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    }
    216214}
  • trunk/test/unit/org/openstreetmap/josm/io/ParseWithChangesetReaderTest.groovy

    r7938 r8510  
    2020    }
    2121
    22         /**
    23         * A new node with a changeset id. Ignore it.
    24         */
    25         @Test
    26         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 = """\
    2828         <osm version="0.6">
    2929        <node id="-1" lat="0.0" lon="0.0" changeset="1">
     
    3333        """
    3434
    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 = """\
     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 = """\
    4747         <osm version="0.6">
    4848        <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 != 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 = """\
     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 = """\
    6666         <osm version="0.6">
    6767        <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 != 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 = """\
     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 = """\
    8585         <osm version="0.6">
    8686        <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 != 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 = """\
     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 = """\
    105105         <osm version="0.6">
    106106        <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 != 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 = """\
     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 = """\
    126126         <osm version="0.6">
    127127        <node id="1" lat="0.0" lon="0.0" version="1"/>
     
    130130
    131131        DataSet ds = getDataSet(doc)
    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         /**
     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    /**
    139139     * An existing node with a valid changeset id id. That's fine. The changeset id
    140140     * is applied.
    141141     */
    142         @Test
    143         public void test_3() {
    144                 String doc = """\
     142    @Test
     143    public void test_3() {
     144        String doc = """\
    145145         <osm version="0.6">
    146146        <node id="1" lat="0.0" lon="0.0" version="1" changeset="4"/>
     
    149149
    150150        DataSet ds = getDataSet(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 = """\
     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 = """\
    164164         <osm version="0.6">
    165165        <node id="1" lat="0.0" lon="0.0" version="1" changeset="-1"/>
     
    167167        """
    168168
    169                 final shouldFail = new GroovyTestCase().&shouldFail
    170 
    171                 shouldFail(IllegalDataException) {
     169        final shouldFail = new GroovyTestCase().&shouldFail
     170
     171        shouldFail(IllegalDataException) {
    172172            DataSet ds = getDataSet(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 = """\
     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 = """\
    182182         <osm version="0.6">
    183183        <node id="1" lat="0.0" lon="0.0" version="1" changeset="0"/>
     
    185185        """
    186186
    187                 final shouldFail = new GroovyTestCase().&shouldFail
    188 
    189                 shouldFail(IllegalDataException) {
     187        final shouldFail = new GroovyTestCase().&shouldFail
     188
     189        shouldFail(IllegalDataException) {
    190190            DataSet ds = getDataSet(doc)
    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) {
     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) {
    208208            DataSet ds = getDataSet(doc)
    209                 }
    210         }
     209        }
     210    }
    211211}
  • trunk/test/unit/org/openstreetmap/josm/io/remotecontrol/RemoteControlTest.java

    r7937 r8510  
    7272                    return null;
    7373                }
     74
    7475                public void checkClientTrusted(X509Certificate[] certs, String authType) {
    7576                }
     77
    7678                public void checkServerTrusted(X509Certificate[] certs, String authType) {
    7779                }
     
    137139            try (BufferedReader in = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8))) {
    138140                String s;
    139                 while((s = in.readLine()) != null) {
     141                while ((s = in.readLine()) != null) {
    140142                    responseBody.append(s);
    141143                    responseBody.append("\n");
  • trunk/test/unit/org/openstreetmap/josm/io/remotecontrol/handler/RequestHandlerTest.java

    r8509 r8510  
    4343    }
    4444
    45 
    4645    @Test
    4746    public void testRequestParameter1() {
  • trunk/test/unit/org/openstreetmap/josm/io/session/SessionWriterTest.java

    r8338 r8510  
    3333            super(layer);
    3434        }
     35
    3536        @Override
    3637        public boolean requiresZip() {
     
    4344            super(layer);
    4445        }
     46
    4547        @Override
    4648        public boolean requiresZip() {
     
    9395        }
    9496        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"));
    9698        try {
    9799            sw.write(file);
Note: See TracChangeset for help on using the changeset viewer.