Changeset 3025 in josm for trunk


Ignore:
Timestamp:
2010-02-19T21:43:42+01:00 (10 years ago)
Author:
jttt
Message:

Fix tests

Location:
trunk
Files:
1 added
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTaskList.java

    r2578 r3025  
    8787        progressMonitor.beginTask(tr("Updating data"));
    8888        try {
    89             List<Rectangle2D> rects = new LinkedList<Rectangle2D>();
     89            List<Rectangle2D> rects = new ArrayList<Rectangle2D>(areas.size());
    9090            for (Area a : areas) {
    9191                rects.add(a.getBounds2D());
  • trunk/src/org/openstreetmap/josm/data/osm/DatasetConsistencyTest.java

    r2958 r3025  
    124124    public void checkZeroNodesWays() {
    125125        for (Way way:dataSet.getWays()) {
    126             if (way.isUsable() && way.getNodesCount() == 0) {
     126            if (way.isUsable() && way.isVisible() && way.getNodesCount() == 0) {
    127127                printError("WARN - ZERO NODES", "Way %s has zero nodes", way);
    128128            } else if (way.isUsable() && way.getNodesCount() == 1) {
  • trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitive.java

    r3004 r3025  
    873873     */
    874874    public boolean hasSameTags(OsmPrimitive other) {
    875         return keySet().equals(other.keySet());
     875        return getKeys().equals(other.getKeys());
    876876    }
    877877
  • trunk/src/org/openstreetmap/josm/data/osm/Relation.java

    r2982 r3025  
    1717public final class Relation extends OsmPrimitive {
    1818
    19     /**
    20      * All members of this relation. Note that after changing this,
    21      * makeBackReferences and/or removeBackReferences should be called.
    22      *
    23      */
    2419    private final List<RelationMember> members = new ArrayList<RelationMember>();
    2520
  • trunk/src/org/openstreetmap/josm/gui/conflict/pair/ListMergeModel.java

    r2983 r3025  
    7979    protected EntriesSelectionModel mergedEntriesSelectionModel;
    8080
    81     private final ArrayList<PropertyChangeListener> listeners;
     81    private final List<PropertyChangeListener> listeners;
    8282    private boolean isFrozen = false;
    8383    private final ComparePairListModel comparePairListModel;
     
    340340
    341341    private void copy(ListRole sourceRole, int[] rows, int position) {
     342        if (position < 0 || position > getMergedEntriesSize())
     343            throw new IllegalArgumentException();
    342344        List<T> newItems = new ArrayList<T>(rows.length);
    343345        List<T> source = entries.get(sourceRole);
  • trunk/test/unit/org/openstreetmap/josm/data/osm/APIDataSetTest.java

    r2620 r3025  
    3737    @Test
    3838    public void newParentChildPair() {
     39        DataSet ds = new DataSet();
    3940        Relation r1 = new Relation();
     41        ds.addPrimitive(r1);
    4042        r1.put("name", "r1");
    4143
    4244        Relation r2 = new Relation();
     45        ds.addPrimitive(r2);
    4346        r2.put("name", "r2");
    4447
    4548        r1.addMember(new RelationMember("", r2));
    46 
    47         DataSet ds = new DataSet();
    48         ds.addPrimitive(r1);
    49         ds.addPrimitive(r2);
    5049
    5150        APIDataSet apiDataSet = new APIDataSet();
     
    6564    @Test
    6665    public void oneExistingAndThreNewInAChain() {
     66        DataSet ds = new DataSet();
     67
    6768        Relation r1 = new Relation();
     69        ds.addPrimitive(r1);
    6870        r1.put("name", "r1");
    6971
    7072        Relation r2 = new Relation();
     73        ds.addPrimitive(r2);
    7174        r2.put("name", "r2");
    7275
    7376        Relation r3 = new Relation();
     77        ds.addPrimitive(r3);
    7478        r3.put("name", "r3");
    7579
    7680        Relation r4 = new Relation(1, 1);
     81        ds.addPrimitive(r4);
    7782        r4.put("name", "r4");
    7883        r4.setModified(true);
     
    8085        r1.addMember(new RelationMember("", r2));
    8186        r2.addMember(new RelationMember("", r3));
    82 
    83         DataSet ds = new DataSet();
    84         ds.addPrimitive(r1);
    85         ds.addPrimitive(r2);
    86         ds.addPrimitive(r3);
    87         ds.addPrimitive(r4);
    8887
    8988        APIDataSet apiDataSet = new APIDataSet();
     
    108107    @Test
    109108    public void oneParentTwoNewChildren() {
     109        DataSet ds = new DataSet();
    110110        Relation r1 = new Relation();
     111        ds.addPrimitive(r1);
    111112        r1.put("name", "r1");
    112113
    113114        Relation r2 = new Relation();
     115        ds.addPrimitive(r2);
    114116        r2.put("name", "r2");
    115117
    116118        Relation r3 = new Relation();
     119        ds.addPrimitive(r3);
    117120        r3.put("name", "r3");
    118121
     
    120123        r1.addMember(new RelationMember("", r3));
    121124
    122         DataSet ds = new DataSet();
    123         ds.addPrimitive(r1);
    124         ds.addPrimitive(r2);
    125         ds.addPrimitive(r3);
    126125
    127126        APIDataSet apiDataSet = new APIDataSet();
     
    141140    @Test
    142141    public void oneCycle() {
     142        DataSet ds = new DataSet();
    143143        Relation r1 = new Relation();
     144        ds.addPrimitive(r1);
    144145        r1.put("name", "r1");
    145146
    146147        Relation r2 = new Relation();
     148        ds.addPrimitive(r2);
    147149        r2.put("name", "r2");
    148150
    149151        Relation r3 = new Relation();
     152        ds.addPrimitive(r3);
    150153        r3.put("name", "r3");
    151154
     
    153156        r2.addMember(new RelationMember("", r3));
    154157        r3.addMember(new RelationMember("", r1));
    155 
    156         DataSet ds = new DataSet();
    157         ds.addPrimitive(r1);
    158         ds.addPrimitive(r2);
    159         ds.addPrimitive(r3);
    160158
    161159        APIDataSet apiDataSet = new APIDataSet();
  • trunk/test/unit/org/openstreetmap/josm/data/osm/DataSetMergerTest.java

    r2620 r3025  
    77import static org.junit.Assert.assertTrue;
    88
     9import java.io.StringWriter;
    910import java.util.Arrays;
    1011import java.util.Calendar;
     
    1213import java.util.GregorianCalendar;
    1314
     15import org.junit.After;
    1416import org.junit.Before;
    1517import org.junit.Test;
     
    5557    }*/
    5658
     59    private DataSet my;
     60    private DataSet their;
     61
    5762    @Before
    5863    public void setUp() {
    5964        User.clearUserMap();
     65        my = new DataSet();
     66        my.setVersion("0.6");
     67        their = new DataSet();
     68        their.setVersion("0.6");
     69    }
     70
     71    private void runConsistencyTests(DataSet ds) throws Exception {
     72        StringWriter writer = new StringWriter();
     73        DatasetConsistencyTest test =  new DatasetConsistencyTest(ds, writer);
     74        test.checkReferrers();
     75        test.checkCompleteWaysWithIncompleteNodes();
     76        test.searchNodes();
     77        test.searchWays();
     78        test.referredPrimitiveNotInDataset();
     79        test.checkZeroNodesWays();
     80        String result = writer.toString();
     81        if (result.length() > 0)
     82            throw new RuntimeException(result);
     83    }
     84
     85    @After
     86    public void checkDatasets() throws Exception {
     87        runConsistencyTests(my);
     88        runConsistencyTests(their);
    6089    }
    6190
     
    6897    @Test
    6998    public void nodeSimple_IdenticalNoConflict() {
    70         DataSet my = new DataSet();
    71         my.setVersion("0.6");
    7299        Node n = new Node(new LatLon(0,0));
    73100        n.setOsmId(1,1);
     
    76103        my.addPrimitive(n);
    77104
    78         DataSet their = new DataSet();
    79         their.setVersion("0.6");
    80105        Node n1 = new Node(new LatLon(0,0));
    81106        n1.setOsmId(1,1);
     
    107132    @Test
    108133    public void nodeSimple_locallyUnmodifiedNoConflict() {
    109         DataSet my = new DataSet();
    110         my.setVersion("0.6");
    111134        Node n = new Node(new LatLon(0,0));
    112135        n.setOsmId(1,1);
     
    115138        my.addPrimitive(n);
    116139
    117         DataSet their = new DataSet();
    118         their.setVersion("0.6");
    119140        Node n1 = new Node(new LatLon(0,0));
    120141        n1.setOsmId(1,2);
     
    151172    @Test
    152173    public void nodeSimple_TagConflict() {
    153         DataSet my = new DataSet();
    154         my.setVersion("0.6");
    155174        Node n = new Node(new LatLon(0,0));
    156175        n.setOsmId(1,1);
     
    160179        my.addPrimitive(n);
    161180
    162         DataSet their = new DataSet();
    163         their.setVersion("0.6");
    164181        Node n1 = new Node(new LatLon(0,0));
    165182        n1.setOsmId(1,2);
     
    189206    @Test
    190207    public void nodeSimple_DeleteConflict() {
    191         DataSet my = new DataSet();
    192         my.setVersion("0.6");
    193208        Node n = new Node(1, 1);
    194209        n.setCoor(new LatLon(0,0));
     
    197212        my.addPrimitive(n);
    198213
    199         DataSet their = new DataSet();
    200         their.setVersion("0.6");
    201214        Node n1 = new Node(new LatLon(0,0));
    202215        n1.setOsmId(1,2);
     
    224237    @Test
    225238    public void nodeSimple_VisibleConflict() {
    226         DataSet my = new DataSet();
    227         my.setVersion("0.6");
    228239        Node n = new Node(new LatLon(0,0));
    229240        n.setOsmId(1,1);
     
    232243        my.addPrimitive(n);
    233244
    234         DataSet their = new DataSet();
    235         their.setVersion("0.6");
    236245        Node n1 = new Node(new LatLon(0,0));
    237246        n1.setOsmId(1,2);
     
    260269    @Test
    261270    public void nodeSimple_DeleteConflict_2() {
    262         DataSet my = new DataSet();
    263         my.setVersion("0.6");
    264271        Node n = new Node(new LatLon(0,0));
    265272        n.setOsmId(1,1);
     
    267274        my.addPrimitive(n);
    268275
    269         DataSet their = new DataSet();
    270         their.setVersion("0.6");
    271276        Node n1 = new Node(new LatLon(0,0));
    272277        n1.setOsmId(1,1);
     
    293298    @Test
    294299    public void nodeSimple_DeleteConflict_3() {
    295         DataSet my = new DataSet();
    296         my.setVersion("0.6");
    297300        Node n = new Node(new LatLon(1,1));
    298301        n.setDeleted(true);
    299302        my.addPrimitive(n);
    300303
    301         DataSet their = new DataSet();
    302         their.setVersion("0.6");
    303304        Node n1 = new Node(new LatLon(1,1));
    304305        their.addPrimitive(n1);
     
    321322    @Test
    322323    public void nodeSimple_DeleteConflict_4() {
    323         DataSet my = new DataSet();
    324         my.setVersion("0.6");
    325324        Node n = new Node(new LatLon(1,1));
    326325        n.setDeleted(true);
    327326        my.addPrimitive(n);
    328327
    329         DataSet their = new DataSet();
    330         their.setVersion("0.6");
    331328        Node n1 = new Node(new LatLon(1,1));
    332329        n1.setDeleted(true);
     
    351348    @Test
    352349    public void nodeSimple_InvisibleNodeInTheirDataset() {
    353         DataSet my = new DataSet();
    354         my.setVersion("0.6");
    355350        Node n = new Node(new LatLon(0,0));
    356351        n.setOsmId(1,1);
     
    358353        my.addPrimitive(n);
    359354
    360         DataSet their = new DataSet();
    361         their.setVersion("0.6");
    362355        Node n1 = new Node(new LatLon(0,0));
    363356        n1.setOsmId(2,1);
     
    390383        User theirUser = User.createOsmUser(222, "their");
    391384
    392         DataSet my = new DataSet();
    393         my.setVersion("0.6");
    394385        Node n = new Node();
    395386        n.setCoor(new LatLon(0,0));
     
    400391        my.addPrimitive(n);
    401392
    402         DataSet their = new DataSet();
    403         their.setVersion("0.6");
    404393        Node n1 = new Node();
    405394        n1.setCoor(new LatLon(0,0));
     
    434423    public void nodeSimple_IncompleteNode() {
    435424
    436         DataSet my = new DataSet();
    437         my.setVersion("0.6");
    438425        Node n = new Node(1);
    439426        my.addPrimitive(n);
    440427
    441         DataSet their = new DataSet();
    442         their.setVersion("0.6");
    443428        Node n1 = new Node();
    444429        n1.setCoor(new LatLon(0,0));
     
    472457
    473458        // -- the target dataset
    474         DataSet target = new DataSet();
    475         target.setVersion("0.6");
    476459
    477460        Node n1 = new Node();
    478461        n1.setCoor(new LatLon(0,0));
    479462        n1.setOsmId(1,1);
    480         target.addPrimitive(n1);
     463        my.addPrimitive(n1);
    481464
    482465        Node n2 = new Node();
     
    484467        n2.setOsmId(2,1);
    485468
    486         target.addPrimitive(n2);
     469        my.addPrimitive(n2);
    487470
    488471        Way myWay = new Way();
     
    491474        myWay.addNode(n1);
    492475        myWay.addNode(n2);
    493         target.addPrimitive(myWay);
     476        my.addPrimitive(myWay);
    494477
    495478        // -- the source data set
    496         DataSet source = new DataSet();
    497         source.setVersion("0.6");
    498479
    499480        Node n3 = new Node(new LatLon(0,0));
    500481        n3.setOsmId(1,1);
    501         source.addPrimitive(n3);
     482        their.addPrimitive(n3);
    502483
    503484        Node n4 = new Node(new LatLon(1,1));
    504485        n4.setOsmId(2,1);
    505         source.addPrimitive(n4);
     486        their.addPrimitive(n4);
    506487
    507488        Way theirWay = new Way();
     
    511492        theirWay.addNode(n3);
    512493        theirWay.addNode(n4);
    513         source.addPrimitive(theirWay);
    514 
    515 
    516         DataSetMerger visitor = new DataSetMerger(target,source);
     494        their.addPrimitive(theirWay);
     495
     496
     497        DataSetMerger visitor = new DataSetMerger(my,their);
    517498        visitor.merge();
    518499
    519500        // -- tests
    520         Way merged = (Way)target.getPrimitiveById(3, OsmPrimitiveType.WAY);
     501        Way merged = (Way)my.getPrimitiveById(3, OsmPrimitiveType.WAY);
    521502        assertEquals(0,visitor.getConflicts().size());
    522503        assertEquals("value1",merged.get("key1"));
     
    528509        assertEquals(2,merged.getNode(1).getId());
    529510        assertTrue(merged == myWay);
    530         assertTrue(merged.getDataSet() == target);
    531 
    532         Node mergedNode = (Node)target.getPrimitiveById(1, OsmPrimitiveType.NODE);
     511        assertTrue(merged.getDataSet() == my);
     512
     513        Node mergedNode = (Node)my.getPrimitiveById(1, OsmPrimitiveType.NODE);
    533514        assertTrue(mergedNode == n1);
    534         mergedNode = (Node)target.getPrimitiveById(2, OsmPrimitiveType.NODE);
     515        mergedNode = (Node)my.getPrimitiveById(2, OsmPrimitiveType.NODE);
    535516        assertTrue(mergedNode == n2);
    536517
     
    549530
    550531        // -- my data set
    551         DataSet my = new DataSet();
    552         my.setVersion("0.6");
    553532
    554533        Node n1 = new Node(new LatLon(0,0));
     
    567546
    568547        // --- their data set
    569         DataSet their = new DataSet();
    570         their.setVersion("0.6");
    571548
    572549        Node n3 = new Node(new LatLon(0,0));
     
    624601
    625602        // -- the target dataset
    626         DataSet target = new DataSet();
    627         target.setVersion("0.6");
    628603
    629604        Node n1 = new Node(new LatLon(0,0));
    630605        n1.setOsmId(1,1);
    631         target.addPrimitive(n1);
     606        my.addPrimitive(n1);
    632607
    633608        Node n2 = new Node(new LatLon(1,1));
    634609        n2.setOsmId(2,1);
    635         target.addPrimitive(n2);
     610        my.addPrimitive(n2);
    636611
    637612        Way myWay = new Way();
     
    642617        myWay.setModified(true);
    643618        myWay.put("key1", "value1");
    644         target.addPrimitive(myWay);
     619        my.addPrimitive(myWay);
    645620
    646621        // -- the source dataset
    647         DataSet source = new DataSet();
    648         source.setVersion("0.6");
    649622
    650623        Node n3 = new Node(new LatLon(0,0));
    651624        n3.setOsmId(1,1);
    652         source.addPrimitive(n3);
     625        their.addPrimitive(n3);
    653626
    654627        Node n5 = new Node(new LatLon(1,1));
    655628        n5.setOsmId(4,1);
    656         source.addPrimitive(n5);
     629        their.addPrimitive(n5);
    657630
    658631        Node n4 = new Node(new LatLon(2,2));
    659632        n4.setOsmId(2,1);
    660633        n4.put("key1", "value1");
    661         source.addPrimitive(n4);
     634        their.addPrimitive(n4);
    662635
    663636
     
    668641        theirWay.addNode(n5); // insert a node
    669642        theirWay.addNode(n4); // this one is updated
    670         source.addPrimitive(theirWay);
    671 
    672 
    673         DataSetMerger visitor = new DataSetMerger(target,source);
    674         visitor.merge();
    675 
    676         Way merged = (Way)target.getPrimitiveById(3, OsmPrimitiveType.WAY);
     643        their.addPrimitive(theirWay);
     644
     645
     646        DataSetMerger visitor = new DataSetMerger(my, their);
     647        visitor.merge();
     648
     649        Way merged = (Way)my.getPrimitiveById(3, OsmPrimitiveType.WAY);
    677650        assertEquals(1,visitor.getConflicts().size());
    678651        assertEquals(3,merged.getId());
     
    694667    public void waySimple_TheirVersionNotVisible() {
    695668
    696         DataSet my = new DataSet();
    697         my.setVersion("0.6");
    698 
    699         Node n1 = new Node(new LatLon(0,0));
    700         n1.setOsmId(1,1);
    701         my.addPrimitive(n1);
    702 
    703         Node n2 = new Node(new LatLon(1,1));
    704         n2.setOsmId(2,1);
    705         my.addPrimitive(n2);
     669
     670        Node mn1 = new Node(new LatLon(0,0));
     671        mn1.setOsmId(1,1);
     672        my.addPrimitive(mn1);
     673
     674        Node mn2 = new Node(new LatLon(1,1));
     675        mn2.setOsmId(2,1);
     676        my.addPrimitive(mn2);
    706677
    707678        Way myWay = new Way();
    708679        myWay.setOsmId(3,1);
    709         myWay.addNode(n1);
    710         myWay.addNode(n2);
     680        myWay.addNode(mn1);
     681        myWay.addNode(mn2);
    711682        my.addPrimitive(myWay);
    712683
    713         DataSet their = new DataSet();
    714         their.setVersion("0.6");
    715684
    716685        Way theirWay = new Way();
     
    739708
    740709        // -- my data set
    741         DataSet my = new DataSet();
    742         my.setVersion("0.6");
    743710
    744711        Node n1 = new Node(new LatLon(0,0));
     
    756723
    757724        // -- their data set
    758         DataSet their = new DataSet();
    759         their.setVersion("0.6");
    760725
    761726        Node n3 = new Node(new LatLon(0,0));
     
    801766
    802767        // -- my data set
    803         DataSet my = new DataSet();
    804         my.setVersion("0.6");
    805768
    806769        Node n1 = new Node(new LatLon(0,0));
     
    816779
    817780        // -- their data set
    818         DataSet their = new DataSet();
    819         their.setVersion("0.6");
    820781
    821782        Node n3 = new Node(new LatLon(0,0));
     
    855816     *
    856817     * => the merged way should include two nodes only. the deleted node should still be
    857      * in the data set
     818     * in the data set.
    858819     *
    859820     */
     
    862823
    863824        // -- my dataset
    864         DataSet my = new DataSet();
    865         my.setVersion("0.6");
    866 
    867         Node n1 = new Node(new LatLon(0,0));
    868         n1.setOsmId(1,1);
    869         n1.setDeleted(true);
    870         my.addPrimitive(n1);
    871 
    872         DataSet their = new DataSet();
    873         their.setVersion("0.6");
    874 
    875         Node n3 = new Node(new LatLon(0,0));
    876         n3.setOsmId(1,1);
    877         their.addPrimitive(n3);
    878 
    879         Node n4 = new Node(new LatLon(1,1));
    880         n4.setOsmId(2,1);
    881         their.addPrimitive(n4);
    882 
    883         Node n5 = new Node(new LatLon(2,2));
    884         n5.setOsmId(3,1);
    885         their.addPrimitive(n5);
     825
     826        Node mn1 = new Node(new LatLon(0,0));
     827        mn1.setOsmId(1,1);
     828        mn1.setDeleted(true);
     829        my.addPrimitive(mn1);
     830
     831
     832        Node tn1 = new Node(new LatLon(0,0));
     833        tn1.setOsmId(1,1);
     834        their.addPrimitive(tn1);
     835
     836        Node tn2 = new Node(new LatLon(1,1));
     837        tn2.setOsmId(2,1);
     838        their.addPrimitive(tn2);
     839
     840        Node tn3 = new Node(new LatLon(2,2));
     841        tn3.setOsmId(3,1);
     842        their.addPrimitive(tn3);
    886843
    887844        // -- their data set
    888845        Way theirWay = new Way();
    889846        theirWay.setOsmId(4,1);
    890         theirWay.addNode(n3);
    891         theirWay.addNode(n4);
    892         theirWay.addNode(n5);
     847        theirWay.addNode(tn1);
     848        theirWay.addNode(tn2);
     849        theirWay.addNode(tn3);
    893850        User user = User.getById(1111);
    894851        if (user == null) {
     
    902859        visitor.merge();
    903860
    904         assertEquals(0,visitor.getConflicts().size());
    905 
    906         Way myWay = (Way)my.getPrimitiveById(4,OsmPrimitiveType.WAY);
    907         assertEquals(2, myWay.getNodesCount());
     861        assertEquals(1, visitor.getConflicts().size());
     862
     863        Way myWay = (Way)my.getPrimitiveById(4, OsmPrimitiveType.WAY);
     864        assertEquals(3, myWay.getNodesCount());
    908865
    909866        Node n = (Node)my.getPrimitiveById(1,OsmPrimitiveType.NODE);
     
    926883    public void relationComplex_mergingADeletedNode() {
    927884
    928         DataSet my = new DataSet();
    929         my.setVersion("0.6");
    930885
    931886        Node n1 = new Node(new LatLon(0,0));
     
    934889        my.addPrimitive(n1);
    935890
    936         DataSet their = new DataSet();
    937         their.setVersion("0.6");
    938891
    939892        Node n3 = new Node(new LatLon(0,0));
     
    979932    @Test
    980933    public void newIncompleteWay() {
    981         DataSet source = new DataSet();
    982         source.setVersion("0.6");
    983934
    984935        Node n1 = new Node(1);
    985         source.addPrimitive(n1);
     936        their.addPrimitive(n1);
    986937
    987938        Node n2 = new Node(2);
    988         source.addPrimitive(n2);
     939        their.addPrimitive(n2);
    989940
    990941        Way w3 = new Way(3);
    991942        w3.setNodes(Arrays.asList(n1,n2));
    992         source.addPrimitive(w3);
     943        their.addPrimitive(w3);
    993944        assertTrue(w3.isIncomplete());
    994945
    995         DataSet target = new DataSet();
    996         target.setVersion("0.6");
    997 
    998         DataSetMerger visitor = new DataSetMerger(target,source);
    999         visitor.merge();
    1000 
    1001         assertEquals(0,visitor.getConflicts().size());
    1002 
    1003         OsmPrimitive p= target.getPrimitiveById(1, OsmPrimitiveType.NODE);
     946
     947        DataSetMerger visitor = new DataSetMerger(my, their);
     948        visitor.merge();
     949
     950        assertEquals(0,visitor.getConflicts().size());
     951
     952        OsmPrimitive p= my.getPrimitiveById(1, OsmPrimitiveType.NODE);
    1004953        assertNotNull(p);
    1005954        assertTrue(p.isIncomplete());
    1006         p= target.getPrimitiveById(2, OsmPrimitiveType.NODE);
     955        p= my.getPrimitiveById(2, OsmPrimitiveType.NODE);
    1007956        assertNotNull(p);
    1008957        assertTrue(p.isIncomplete());
    1009         p= target.getPrimitiveById(3, OsmPrimitiveType.WAY);
     958        p= my.getPrimitiveById(3, OsmPrimitiveType.WAY);
    1010959        assertNotNull(p);
    1011960        assertTrue(p.isIncomplete());
    1012961
    1013         Way w = (Way)target.getPrimitiveById(3, OsmPrimitiveType.WAY);
     962        Way w = (Way)my.getPrimitiveById(3, OsmPrimitiveType.WAY);
    1014963        assertNotNull(w);
    1015964        assertTrue(p.isIncomplete());
     
    1026975    @Test
    1027976    public void incompleteWayOntoCompleteWay() {
    1028         DataSet their = new DataSet();
    1029         their.setVersion("0.6");
    1030977
    1031978        // an incomplete node
     
    1042989        their.addPrimitive(w3);
    1043990
    1044         DataSet my = new DataSet();
    1045         my.setVersion("0.6");
    1046991
    1047992        Node n4 = new Node(new LatLon(0,0));
     
    10881033
    10891034        // -- source dataset
    1090         DataSet source = new DataSet();
    1091         source.setVersion("0.6");
    10921035
    10931036        // an complete node
    10941037        Node n1 = new Node(1, 1);
    10951038        n1.setCoor(new LatLon(1,1));
    1096         source.addPrimitive(n1);
     1039        their.addPrimitive(n1);
    10971040
    10981041        // another complete node
    10991042        Node n2 = new Node(2, 1);
    11001043        n2.setCoor(new LatLon(2,2));
    1101         source.addPrimitive(n2);
     1044        their.addPrimitive(n2);
    11021045
    11031046        // --- target dataset
    1104         DataSet target = new DataSet();
    1105         target.setVersion("0.6");
    11061047
    11071048        Node n4 = new Node(1);
    1108         target.addPrimitive(n4);
     1049        my.addPrimitive(n4);
    11091050
    11101051        Node n5 = new Node(2);
    1111         target.addPrimitive(n5);
     1052        my.addPrimitive(n5);
    11121053
    11131054        Way w6 = new Way(3, 1);
    11141055        w6.addNode(n4);
    11151056        w6.addNode(n5);
    1116         target.addPrimitive(w6);
     1057        my.addPrimitive(w6);
    11171058
    11181059        //-- merge it
    1119         DataSetMerger visitor = new DataSetMerger(target,source);
     1060        DataSetMerger visitor = new DataSetMerger(my, their);
    11201061        visitor.merge();
    11211062
     
    11231064        assertEquals(0,visitor.getConflicts().size());
    11241065
    1125         Node n = (Node)target.getPrimitiveById(1, OsmPrimitiveType.NODE);
     1066        Node n = (Node)my.getPrimitiveById(1, OsmPrimitiveType.NODE);
    11261067        assertNotNull(n);
    11271068        assertFalse(n.isIncomplete());
    11281069
    1129         n = (Node)target.getPrimitiveById(2, OsmPrimitiveType.NODE);
     1070        n = (Node)my.getPrimitiveById(2, OsmPrimitiveType.NODE);
    11301071        assertNotNull(n);
    11311072        assertFalse(n.isIncomplete());
    11321073
    1133         Way w = (Way)target.getPrimitiveById(3, OsmPrimitiveType.WAY);
     1074        Way w = (Way)my.getPrimitiveById(3, OsmPrimitiveType.WAY);
    11341075        assertNotNull(w);
    11351076        assertFalse(w.hasIncompleteNodes());
  • trunk/test/unit/org/openstreetmap/josm/data/osm/visitor/MergeSourceBuildingVisitorTest.java

    r2620 r3025  
    151151    public void test_OneRelation_ExistingMembersSelected() {
    152152        DataSet source = new DataSet();
    153         Relation r1 = new Relation(1);
     153        Relation r1 = new Relation(1, 1);
    154154        Node n20 = new Node(20, 1);
     155        n20.setCoor(new LatLon(0, 0));
    155156        r1.addMember(new RelationMember("node-20",n20));
    156157        Way w30 = new Way(30, 1);
    157         Node n21;
    158         w30.addNode(n21 = new Node(21));
    159         Node n22;
    160         w30.addNode(n22 = new Node(22));
     158        Node n21  = new Node(21);
     159        w30.addNode(n21);
     160        Node n22 = new Node(22);
     161        w30.addNode(n22);
    161162        r1.addMember(new RelationMember("way-30",w30));
    162163        Relation r40 = new Relation(40);
     
    166167        source.addPrimitive(n22);
    167168        source.addPrimitive(w30);
    168         source.addPrimitive(r1);
    169169        source.addPrimitive(r40);
     170        source.addPrimitive(r1);
    170171        source.setSelected(r1,n20,w30,r40);
    171172
     
    209210    public void test_OneRelation_ExistingMembersNotSelected() {
    210211        DataSet source = new DataSet();
    211         Relation r1 = new Relation(1);
     212        Relation r1 = new Relation(1, 1);
    212213        Node n20 = new Node(20);
    213214        r1.addMember(new RelationMember("node-20",n20));
     
    224225        source.addPrimitive(n22);
    225226        source.addPrimitive(w30);
    226         source.addPrimitive(r1);
    227227        source.addPrimitive(r40);
     228        source.addPrimitive(r1);
    228229        source.setSelected(r1);
    229230
     
    291292        source.addPrimitive(n22);
    292293        source.addPrimitive(w30);
    293         source.addPrimitive(r1);
    294294        source.addPrimitive(r40);
     295        source.addPrimitive(r1);
    295296        source.setSelected(r1);
    296297
     
    335336    public void test_OneRelation_Existing_Recursive() {
    336337        DataSet source = new DataSet();
    337         Relation r1 = new Relation(1);
     338        Relation r1 = new Relation(1, 1);
    338339        r1.addMember(new RelationMember("relation-1",r1));
    339340        source.addPrimitive(r1);
     
    374375    public void test_TwoRelation_Existing_Circular() {
    375376        DataSet source = new DataSet();
    376         Relation r1 = new Relation(1);
    377         Relation r2 = new Relation(2);
     377        Relation r1 = new Relation(1, 1);
     378        source.addPrimitive(r1);
     379        Relation r2 = new Relation(2, 3);
     380        source.addPrimitive(r2);
    378381        r1.addMember(new RelationMember("relation-2",r2));
    379382        r2.addMember(new RelationMember("relation-1",r1));
    380         source.addPrimitive(r1);
    381         source.addPrimitive(r2);
    382383        source.setSelected(r1,r2);
    383384
  • trunk/test/unit/org/openstreetmap/josm/gui/conflict/nodes/NodeListMergeModelTest.java

    r2990 r3025  
    1717
    1818import org.junit.Test;
     19import org.openstreetmap.josm.data.osm.DatasetFactory;
    1920import org.openstreetmap.josm.data.osm.Node;
    2021import org.openstreetmap.josm.data.osm.Way;
     
    2324public class NodeListMergeModelTest {
    2425
     26    private DatasetFactory my = new DatasetFactory();
     27    private DatasetFactory their = new DatasetFactory();
     28
     29    @SuppressWarnings("unchecked")
    2530    protected List<Node> inspectNodeList(NodeListMergeModel model, String name) {
    2631        return method("get" + name + "Entries")
     
    4651            try {
    4752                int rows[] = (int[])idx[i];
    48                 if (rows == null || rows.length != 2) {
     53                if (rows.length != 2) {
    4954                    fail("illegal selection range. Either null or not length 2: " + Arrays.toString(rows));
    5055                }
     
    6570        NodeListMergeModel model = new NodeListMergeModel();
    6671
    67         Way myWay = new Way(1, 1);
    68         myWay.addNode(new Node(2));
    69         myWay.addNode(new Node(3));
    70         Way theirWay = new Way(1);
     72        Way myWay = my.addWay(1, 1);
     73        myWay.addNode(my.addNode(2));
     74        myWay.addNode(my.addNode(3));
     75
     76        Way theirWay = their.addWay(1);
    7177
    7278        model.populate(myWay, theirWay);
     
    8894        NodeListMergeModel model = new NodeListMergeModel();
    8995
    90 
    91         Way myWay = new Way(1, 1);
    92         myWay.addNode(new Node(2));
    93         myWay.addNode(new Node(3));
    94         Way theirWay = new Way(1);
     96        Way myWay = my.addWay(1, 1);
     97        myWay.addNode(my.addNode(2));
     98        myWay.addNode(my.addNode(3));
     99
     100        Way theirWay = their.addWay(1);
    95101
    96102        model.populate(myWay, theirWay);
     
    111117    }
    112118
    113 
    114 
    115 
    116 
    117119    @Test
    118120    public void test_copyMyNodesToTop_3() {
    119121        NodeListMergeModel model = new NodeListMergeModel();
    120122
    121 
    122         Way myWay = new Way(1, 1);
    123         myWay.addNode(new Node(2));
    124         myWay.addNode(new Node(3));
    125         Way theirWay = new Way(1);
     123        Way myWay = my.addWay(1, 1);
     124        myWay.addNode(my.addNode(2));
     125        myWay.addNode(my.addNode(3));
     126        Way theirWay = their.addWay(1);
    126127
    127128
     
    146147        NodeListMergeModel model = new NodeListMergeModel();
    147148
    148 
    149         Way myWay = new Way(1, 1);
    150         myWay.addNode(new Node(2));
    151         myWay.addNode(new Node(3));
    152         myWay.addNode(new Node(4));
    153         Way theirWay = new Way(1);
     149        Way myWay = my.addWay(1, 1);
     150        myWay.addNode(my.addNode(2));
     151        myWay.addNode(my.addNode(3));
     152        myWay.addNode(my.addNode(4));
     153        Way theirWay = their.addWay(1);
    154154
    155155        model.populate(myWay, theirWay);
     
    175175        NodeListMergeModel model = new NodeListMergeModel();
    176176
    177         Way myWay = new Way(1, 1);
    178         myWay.addNode(new Node(2));
    179         myWay.addNode(new Node(3));
    180         Way theirWay = new Way(1);
     177        Way myWay = my.addWay(1, 1);
     178        myWay.addNode(my.addNode(2));
     179        myWay.addNode(my.addNode(3));
     180        Way theirWay = their.addWay(1);
    181181
    182182        model.populate(myWay, theirWay);
     
    196196        NodeListMergeModel model = new NodeListMergeModel();
    197197
    198         Way myWay = new Way(1, 1);
    199         myWay.addNode(new Node(2));
    200         myWay.addNode(new Node(3));
    201         Way theirWay = new Way(1);
     198        Way myWay = my.addWay(1, 1);
     199        myWay.addNode(my.addNode(2));
     200        myWay.addNode(my.addNode(3));
     201        Way theirWay = their.addWay(1);
    202202
    203203        model.populate(myWay, theirWay);
     
    222222
    223223
    224         Way myWay = new Way(1, 1);
    225         myWay.addNode(new Node(2));
    226         myWay.addNode(new Node(3));
    227         Way theirWay = new Way(1);
     224        Way myWay = my.addWay(1, 1);
     225        myWay.addNode(my.addNode(2));
     226        myWay.addNode(my.addNode(3));
     227        Way theirWay = their.addWay(1);
    228228
    229229        model.populate(myWay, theirWay);
     
    249249
    250250
    251         Way myWay = new Way(1, 1);
    252         myWay.addNode(new Node(2));
    253         myWay.addNode(new Node(3));
    254         myWay.addNode(new Node(4));
    255         Way theirWay = new Way(1);
     251        Way myWay = my.addWay(1, 1);
     252        myWay.addNode(my.addNode(2));
     253        myWay.addNode(my.addNode(3));
     254        myWay.addNode(my.addNode(4));
     255        Way theirWay = their.addWay(1);
    256256
    257257        model.populate(myWay, theirWay);
     
    281281        NodeListMergeModel model = new NodeListMergeModel();
    282282
    283         Way myWay = new Way(1, 1);
    284         myWay.addNode(new Node(1));
    285         myWay.addNode(new Node(2));
    286         Way theirWay = new Way(1);
     283        Way myWay = my.addWay(1, 1);
     284        myWay.addNode(my.addNode(1));
     285        myWay.addNode(my.addNode(2));
     286        Way theirWay = their.addWay(1);
    287287
    288288        model.populate(myWay, theirWay);
     
    309309        NodeListMergeModel model = new NodeListMergeModel();
    310310
    311         Way myWay = new Way(1, 1);
    312         myWay.addNode(new Node(1));
    313         myWay.addNode(new Node(2));
    314         Way theirWay = new Way(1);
     311        Way myWay = my.addWay(1, 1);
     312        myWay.addNode(my.addNode(1));
     313        myWay.addNode(my.addNode(2));
     314        Way theirWay = their.addWay(1);
    315315
    316316        model.populate(myWay, theirWay);
     
    337337        NodeListMergeModel model = new NodeListMergeModel();
    338338
    339         Way myWay = new Way(1, 1);
    340         myWay.addNode(new Node(1));
    341         myWay.addNode(new Node(2));
    342         Way theirWay = new Way(1);
     339        Way myWay = my.addWay(1, 1);
     340        myWay.addNode(my.addNode(1));
     341        myWay.addNode(my.addNode(2));
     342        Way theirWay = their.addWay(1);
    343343
    344344        model.populate(myWay, theirWay);
     
    356356
    357357        try {
    358             model.copyMyBeforeCurrent(new int[]{0,1}, 3);
     358            model.copyMyBeforeCurrent(new int[]{0,1}, 4);
    359359            fail("expected IllegalArgumentException");
    360360        } catch(IllegalArgumentException e) {
     
    370370        NodeListMergeModel model = new NodeListMergeModel();
    371371
    372         Way myWay = new Way(1, 1);
    373         myWay.addNode(new Node(1));
    374         myWay.addNode(new Node(2));
    375         Way theirWay = new Way(1);
     372        Way myWay = my.addWay(1, 1);
     373        myWay.addNode(my.addNode(1));
     374        myWay.addNode(my.addNode(2));
     375        Way theirWay = their.addWay(1);
    376376
    377377        model.populate(myWay, theirWay);
     
    398398        NodeListMergeModel model = new NodeListMergeModel();
    399399
    400         Way myWay = new Way(1, 1);
    401         myWay.addNode(new Node(1));
    402         myWay.addNode(new Node(2));
    403         myWay.addNode(new Node(3));
    404         Way theirWay = new Way(1);
     400        Way myWay = my.addWay(1, 1);
     401        myWay.addNode(my.addNode(1));
     402        myWay.addNode(my.addNode(2));
     403        myWay.addNode(my.addNode(3));
     404        Way theirWay = their.addWay(1);
    405405
    406406        model.populate(myWay, theirWay);
     
    428428        NodeListMergeModel model = new NodeListMergeModel();
    429429
    430         Way myWay = new Way(1, 1);
    431         myWay.addNode(new Node(1));
    432         myWay.addNode(new Node(2));
    433         myWay.addNode(new Node(3));
    434         Way theirWay = new Way(1);
     430        Way myWay = my.addWay(1, 1);
     431        myWay.addNode(my.addNode(1));
     432        myWay.addNode(my.addNode(2));
     433        myWay.addNode(my.addNode(3));
     434        Way theirWay = their.addWay(1);
    435435
    436436        model.populate(myWay, theirWay);
     
    453453    }
    454454
    455     @Test
    456     public void test_copyMyNodesAfterCurrent_4() {
    457         NodeListMergeModel model = new NodeListMergeModel();
    458 
    459         Way myWay = new Way(1, 1);
    460         myWay.addNode(new Node(1));
    461         myWay.addNode(new Node(2));
    462         Way theirWay = new Way(1);
    463 
    464         model.populate(myWay, theirWay);
    465         List<Node> mergedNodes = inspectNodeList(model, "Merged");
    466         mergedNodes.add(new Node(10));
    467         mergedNodes.add(new Node(11));
    468         mergedNodes.add(new Node(12));
    469 
    470         try {
    471             model.copyMyAfterCurrent(new int[]{0,1}, -1);
    472             fail("expected IllegalArgumentException");
    473         } catch(IllegalArgumentException e) {
    474             // OK
    475         }
    476 
    477         try {
    478             model.copyMyAfterCurrent(new int[]{0,1}, 3);
    479             fail("expected IllegalArgumentException");
    480         } catch(IllegalArgumentException e) {
    481             // OK
    482         }
    483     }
    484455
    485456    /* ----------------------------------------------------------------------------- */
     
    664635    /* PropertyChangeListener                                                        */
    665636    /* ----------------------------------------------------------------------------- */
     637    @SuppressWarnings("unchecked")
    666638    @Test
    667639    public void addPropertyChangeListener() {
     
    676648        model.addPropertyChangeListener(listener);
    677649
    678         ArrayList<PropertyChangeListener> listeners = field("listeners")
    679         .ofType(ArrayList.class)
     650        List<PropertyChangeListener> listeners = field("listeners")
     651        .ofType(List.class)
    680652        .in(model)
    681653        .get();
     
    685657    }
    686658
     659    @SuppressWarnings("unchecked")
    687660    @Test
    688661    public void removePropertyChangeListener() {
     
    698671        model.removePropertyChangeListener(listener);
    699672
    700         ArrayList<PropertyChangeListener> listeners = field("listeners")
    701         .ofType(ArrayList.class)
     673        List<PropertyChangeListener> listeners = field("listeners")
     674        .ofType(List.class)
    702675        .in(model)
    703676        .get();
  • trunk/test/unit/org/openstreetmap/josm/gui/conflict/properties/PropertiesMergeModelTest.java

    r1954 r3025  
    22package org.openstreetmap.josm.gui.conflict.properties;
    33
     4import static org.junit.Assert.assertEquals;
    45import static org.junit.Assert.assertFalse;
    56import static org.junit.Assert.assertTrue;
    6 import static org.junit.Assert.*;
    77
    88import java.util.Observable;
     
    1313import org.openstreetmap.josm.Main;
    1414import org.openstreetmap.josm.data.coor.LatLon;
     15import org.openstreetmap.josm.data.osm.DataSet;
    1516import org.openstreetmap.josm.data.osm.Node;
    1617import org.openstreetmap.josm.data.osm.Relation;
     
    4849    @Test
    4950    public void populate() {
     51        DataSet d1 = new DataSet();
     52        DataSet d2 = new DataSet();
    5053        Node n1 = new Node(1);
    5154        Node n2 = new Node(1);
     55        d1.addPrimitive(n1);
     56        d2.addPrimitive(n2);
    5257        model.populate(n1, n2);
    5358
    5459        Way w1 = new Way(1);
    5560        Way w2 = new Way(1);
     61        d1.addPrimitive(w1);
     62        d2.addPrimitive(w2);
    5663        model.populate(w2, w2);
    5764
    5865        Relation r1 = new Relation(1);
    5966        Relation r2 = new Relation(1);
     67        d1.addPrimitive(r1);
     68        d2.addPrimitive(r2);
    6069        model.populate(r1, r2);
    6170    }
     
    6372    @Test
    6473    public void decidingAboutCoords() {
     74        DataSet d1 = new DataSet();
     75        DataSet d2 = new DataSet();
     76
    6577        Node n1 = new Node(1);
    6678        Node n2 = new Node(1);
     79        d1.addPrimitive(n1);
     80        d2.addPrimitive(n2);
    6781        model.populate(n1, n2);
    6882        assertFalse(model.hasCoordConflict());
     
    7387
    7488
    75         n1 = new Node(1);
     89        n1.cloneFrom(new Node(1));
    7690        n2.setCoor(new LatLon(2,2));
    7791        model.populate(n1, n2);
  • trunk/test/unit/org/openstreetmap/josm/gui/conflict/tags/TagMergeModelTest.java

    r2990 r3025  
    88import java.beans.PropertyChangeEvent;
    99import java.beans.PropertyChangeListener;
    10 import java.util.ArrayList;
     10import java.util.List;
    1111
    1212import org.junit.Test;
     
    2929        model.addPropertyChangeListener(listener);
    3030
    31         ArrayList<?> list = field("listeners").ofType(ArrayList.class)
     31        List<?> list = field("listeners").ofType(List.class)
    3232        .in(model)
    3333        .get();
     
    4848        model.removePropertyChangeListener(listener);
    4949
    50         ArrayList<?> list = field("listeners")
    51         .ofType(ArrayList.class)
     50        List<?> list = field("listeners")
     51        .ofType(List.class)
    5252        .in(model)
    5353        .get();
     
    6363        model.populate(my, their);
    6464
    65         ArrayList<TagMergeItem> list = field("tagMergeItems")
    66         .ofType(ArrayList.class)
     65        List<TagMergeItem> list = field("tagMergeItems")
     66        .ofType(List.class)
    6767        .in(model)
    6868        .get();
     
    8080        model.populate(my, their);
    8181
    82         ArrayList<TagMergeItem> list = field("tagMergeItems")
    83         .ofType(ArrayList.class)
     82        List<TagMergeItem> list = field("tagMergeItems")
     83        .ofType(List.class)
    8484        .in(model)
    8585        .get();
     
    9696        model.populate(my, their);
    9797
    98         ArrayList<TagMergeItem> list = field("tagMergeItems")
    99         .ofType(ArrayList.class)
     98        List<TagMergeItem> list = field("tagMergeItems")
     99        .ofType(List.class)
    100100        .in(model)
    101101        .get();
     
    117117        model.populate(my, their);
    118118
    119         ArrayList<TagMergeItem> list = field("tagMergeItems")
    120         .ofType(ArrayList.class)
     119        List<TagMergeItem> list = field("tagMergeItems")
     120        .ofType(List.class)
    121121        .in(model)
    122122        .get();
     
    139139        model.populate(my, their);
    140140
    141         ArrayList<TagMergeItem> list = field("tagMergeItems")
    142         .ofType(ArrayList.class)
     141        List<TagMergeItem> list = field("tagMergeItems")
     142        .ofType(List.class)
    143143        .in(model)
    144144        .get();
     
    158158        model.addItem(item);
    159159
    160         ArrayList<TagMergeItem> list = field("tagMergeItems")
    161         .ofType(ArrayList.class)
     160        List<TagMergeItem> list = field("tagMergeItems")
     161        .ofType(List.class)
    162162        .in(model)
    163163        .get();
     
    177177        model.addItem(item);
    178178
    179         ArrayList<TagMergeItem> list = field("tagMergeItems")
    180         .ofType(ArrayList.class)
     179        List<TagMergeItem> list = field("tagMergeItems")
     180        .ofType(List.class)
    181181        .in(model)
    182182        .get();
     
    207207        }
    208208
    209         ArrayList<TagMergeItem> list = field("tagMergeItems")
    210         .ofType(ArrayList.class)
     209        List<TagMergeItem> list = field("tagMergeItems")
     210        .ofType(List.class)
    211211        .in(model)
    212212        .get();
Note: See TracChangeset for help on using the changeset viewer.