Changeset 2433 in josm for trunk/test/unit/org
- Timestamp:
- 2009-11-10T21:25:40+01:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/test/unit/org/openstreetmap/josm/data/osm/visitor/MergeVisitorTest.java
r2417 r2433 22 22 import org.openstreetmap.josm.data.coor.LatLon; 23 23 import org.openstreetmap.josm.data.osm.DataSet; 24 import org.openstreetmap.josm.data.osm.DataSetMerger; 24 25 import org.openstreetmap.josm.data.osm.Node; 25 26 import org.openstreetmap.josm.data.osm.OsmPrimitive; … … 95 96 96 97 97 MergeVisitor visitor = newMergeVisitor(my,their);98 DataSetMerger visitor = new DataSetMerger(my,their); 98 99 visitor.merge(); 99 100 100 101 Node n2 = (Node)my.getPrimitiveById(1, OsmPrimitiveType.NODE); 101 102 assertTrue(visitor.getConflicts().isEmpty()); 103 assertTrue(n1 != n2); // make sure we have a clone 102 104 assertEquals(1, n2.getId()); 103 105 assertEquals(1, n2.getVersion()); … … 131 133 132 134 133 MergeVisitor visitor = newMergeVisitor(my,their);135 DataSetMerger visitor = new DataSetMerger(my,their); 134 136 visitor.merge(); 135 137 136 138 Node n2 = (Node)my.getPrimitiveById(1, OsmPrimitiveType.NODE); 137 139 assertTrue(visitor.getConflicts().isEmpty()); 140 assertTrue(n == n2); // make sure the merged node is still the original node 141 assertTrue(n2.getDataSet() == my); 138 142 assertEquals(1, n2.getId()); 139 143 assertEquals(2, n2.getVersion()); … … 144 148 145 149 /** 146 * node with same id, my is modified, their has a higher version150 * Node with same id, my is modified, their has a higher version 147 151 * => results in a conflict 148 152 * … … 171 175 172 176 173 MergeVisitor visitor = newMergeVisitor(my,their);177 DataSetMerger visitor = new DataSetMerger(my,their); 174 178 visitor.merge(); 175 179 176 180 Node n2 = (Node)my.getPrimitiveById(1, OsmPrimitiveType.NODE); 177 181 assertEquals(1,visitor.getConflicts().size()); 178 assertEquals(n, n2); 182 assertTrue(n == n2); 183 assertTrue(n1 != n2); 184 assertTrue(n1.getDataSet() == their); 179 185 } 180 186 … … 207 213 208 214 209 MergeVisitor visitor = newMergeVisitor(my,their);215 DataSetMerger visitor = new DataSetMerger(my,their); 210 216 visitor.merge(); 211 217 212 218 Node n2 = (Node)my.getPrimitiveById(1, OsmPrimitiveType.NODE); 213 219 assertEquals(1,visitor.getConflicts().size()); 214 assertEquals(n, n2); 220 assertTrue(n == n2); 221 assertTrue(n1 != n2); 222 assertTrue(n1.getDataSet() == their); 215 223 } 216 224 … … 240 248 241 249 242 MergeVisitor visitor = newMergeVisitor(my,their);250 DataSetMerger visitor = new DataSetMerger(my,their); 243 251 visitor.merge(); 244 252 … … 246 254 assertEquals(1,visitor.getConflicts().size()); 247 255 assertEquals(true, n2.isVisible()); 256 assertTrue(n == n2); 257 assertTrue(n1 != n2); 258 assertTrue(n1.getDataSet() == their); 248 259 } 249 260 … … 269 280 270 281 271 MergeVisitor visitor = newMergeVisitor(my,their);282 DataSetMerger visitor = new DataSetMerger(my,their); 272 283 visitor.merge(); 273 284 … … 275 286 assertEquals(0,visitor.getConflicts().size()); 276 287 assertEquals(true, n2.isVisible()); 288 assertTrue(n == n2); 289 assertTrue(n.getDataSet() == my); 290 assertTrue(n1.getDataSet() == their); 277 291 } 278 292 … … 297 311 298 312 299 MergeVisitor visitor = newMergeVisitor(my,their);313 DataSetMerger visitor = new DataSetMerger(my,their); 300 314 visitor.merge(); 301 315 302 316 assertEquals(1,visitor.getConflicts().size()); 317 assertTrue(n.getDataSet() == my); 318 assertTrue(n1.getDataSet() == their); 303 319 } 304 320 … … 324 340 325 341 326 MergeVisitor visitor = new MergeVisitor(my,their); 327 visitor.merge(); 328 329 assertEquals(0,visitor.getConflicts().size()); 342 DataSetMerger visitor = new DataSetMerger(my,their); 343 visitor.merge(); 344 345 assertEquals(0,visitor.getConflicts().size()); 346 Node n2 = (Node)my.getNodes().toArray()[0]; 347 assertTrue(n2 == n); 348 assertTrue(n2.isDeleted()); 330 349 } 331 350 … … 352 371 353 372 354 MergeVisitor visitor = newMergeVisitor(my,their);373 DataSetMerger visitor = new DataSetMerger(my,their); 355 374 visitor.merge(); 356 375 357 376 Node n2 = (Node)my.getPrimitiveById(1,OsmPrimitiveType.NODE); 358 377 assertEquals(0,visitor.getConflicts().size()); 359 assertEquals( 2, my.getNodes().size());378 assertEquals(1, my.getNodes().size()); 360 379 assertEquals(n,n2); 361 380 } … … 398 417 399 418 400 MergeVisitor visitor = newMergeVisitor(my,their);419 DataSetMerger visitor = new DataSetMerger(my,their); 401 420 visitor.merge(); 402 421 … … 406 425 assertEquals(true, n1.getTimestamp().equals(n2.getTimestamp())); 407 426 assertEquals(theirUser,n2.getUser()); 427 assertTrue(n2 == n); 428 assertTrue(n2 != n1); 429 assertTrue(n2.getDataSet() == my); 408 430 } 409 431 … … 436 458 437 459 438 MergeVisitor visitor = newMergeVisitor(my,their);460 DataSetMerger visitor = new DataSetMerger(my,their); 439 461 visitor.merge(); 440 462 … … 444 466 assertEquals(true, n1.getTimestamp().equals(n2.getTimestamp())); 445 467 assertEquals(false, n2.incomplete); 468 assertTrue(n2 == n); 446 469 } 447 470 … … 499 522 500 523 501 MergeVisitor visitor = newMergeVisitor(my,their);524 DataSetMerger visitor = new DataSetMerger(my,their); 502 525 visitor.merge(); 503 526 … … 511 534 assertEquals(1,merged.getNode(0).getId()); 512 535 assertEquals(2,merged.getNode(1).getId()); 513 536 assertTrue(merged == myWay); 537 assertTrue(merged.getDataSet() == my); 538 539 Node mergedNode = (Node)my.getPrimitiveById(1, OsmPrimitiveType.NODE); 540 assertTrue(mergedNode == n1); 541 mergedNode = (Node)my.getPrimitiveById(2, OsmPrimitiveType.NODE); 542 assertTrue(mergedNode == n2); 514 543 } 515 544 … … 524 553 public void waySimple_AdditionalNodesAndChangedNodes() { 525 554 555 // -- my data set 526 556 DataSet my = new DataSet(); 527 557 my.setVersion("0.6"); … … 540 570 myWay.addNode(n2); 541 571 my.addPrimitive(myWay); 572 573 // --- their data set 542 574 543 575 DataSet their = new DataSet(); … … 566 598 their.addPrimitive(theirWay); 567 599 568 569 MergeVisitor visitor = new MergeVisitor(my,their); 600 DataSetMerger visitor = new DataSetMerger(my,their); 570 601 visitor.merge(); 571 602 … … 579 610 assertEquals(2,merged.getNode(2).getId()); 580 611 assertEquals("value1",merged.getNode(2).get("key1")); 612 613 assertTrue(merged.getNode(0) == n1); 614 assertTrue(merged.getNode(1) != n5); // must be clone of the original node in their 615 assertTrue(merged.getNode(2) == n2); 581 616 } 582 617 … … 636 671 637 672 638 MergeVisitor visitor = newMergeVisitor(my,their);673 DataSetMerger visitor = new DataSetMerger(my,their); 639 674 visitor.merge(); 640 675 … … 684 719 their.addPrimitive(theirWay); 685 720 686 MergeVisitor visitor = newMergeVisitor(my,their);721 DataSetMerger visitor = new DataSetMerger(my,their); 687 722 visitor.merge(); 688 723 … … 699 734 * their way can be merged on my way. No conflict. 700 735 * 701 *702 *703 736 */ 704 737 @Test 705 738 public void waySimple_twoWaysWithNoId_NodesWithId() { 706 739 740 // -- my data set 707 741 DataSet my = new DataSet(); 708 742 my.setVersion("0.6"); … … 721 755 my.addPrimitive(myWay); 722 756 757 // -- their data set 723 758 DataSet their = new DataSet(); 724 759 their.setVersion("0.6"); … … 739 774 their.addPrimitive(theirWay); 740 775 741 MergeVisitor visitor = new MergeVisitor(my,their); 742 visitor.merge(); 743 744 assertEquals(0,visitor.getConflicts().size()); 745 assertEquals("their", myWay.getUser().getName()); 746 assertEquals(1111, myWay.getUser().getId()); 747 assertEquals(1111, myWay.getUser().getId()); 748 assertEquals(theirWay.getTimestamp(), myWay.getTimestamp()); 776 DataSetMerger visitor = new DataSetMerger(my,their); 777 visitor.merge(); 778 779 // -- tests 780 Way merged = (Way)my.getWays().toArray()[0]; 781 assertEquals(0,visitor.getConflicts().size()); 782 assertEquals("their", merged.getUser().getName()); 783 assertEquals(1111, merged.getUser().getId()); 784 assertEquals(theirWay.getTimestamp(), merged.getTimestamp()); 785 assertTrue(merged == myWay); 786 assertTrue(merged.getNode(0) == n1); 787 assertTrue(merged.getNode(1) == n2); 749 788 } 750 789 … … 758 797 public void waySimple_twoWaysWithNoId_NodesWithoutId() { 759 798 799 // -- my data set 760 800 DataSet my = new DataSet(); 761 801 my.setVersion("0.6"); … … 772 812 my.addPrimitive(myWay); 773 813 814 // -- their data set 774 815 DataSet their = new DataSet(); 775 816 their.setVersion("0.6"); … … 789 830 their.addPrimitive(theirWay); 790 831 791 MergeVisitor visitor = new MergeVisitor(my,their); 792 visitor.merge(); 793 794 assertEquals(0,visitor.getConflicts().size()); 795 assertEquals("their", myWay.getUser().getName()); 796 assertEquals(1111, myWay.getUser().getId()); 797 assertEquals(theirWay.getTimestamp(), myWay.getTimestamp()); 832 DataSetMerger visitor = new DataSetMerger(my,their); 833 visitor.merge(); 834 835 // -- tests 836 Way merged = (Way)my.getWays().toArray()[0]; 837 assertEquals(0,visitor.getConflicts().size()); 838 assertEquals("their", merged.getUser().getName()); 839 assertEquals(1111, merged.getUser().getId()); 840 assertEquals(theirWay.getTimestamp(), merged.getTimestamp()); 841 assertTrue(merged == myWay); 842 assertTrue(merged.getNode(0) == n1); 843 assertTrue(merged.getNode(1) == n2); 798 844 } 799 845 … … 810 856 public void wayComplex_mergingADeletedNode() { 811 857 858 // -- my dataset 812 859 DataSet my = new DataSet(); 813 860 my.setVersion("0.6"); … … 833 880 their.addPrimitive(n5); 834 881 835 882 // -- their data set 836 883 Way theirWay = new Way(); 837 884 theirWay.setOsmId(4,1); … … 843 890 their.addPrimitive(theirWay); 844 891 845 MergeVisitor visitor = newMergeVisitor(my,their);892 DataSetMerger visitor = new DataSetMerger(my,their); 846 893 visitor.merge(); 847 894 … … 852 899 853 900 Node n = (Node)my.getPrimitiveById(1,OsmPrimitiveType.NODE); 901 assertTrue(!myWay.getNodes().contains(n)); 854 902 assertTrue(n != null); 855 903 } … … 857 905 /** 858 906 * My dataset includes a deleted node. 859 * Their dataset includes a relation with thre nodes, the first one being my node. 907 * Their dataset includes a relation with three nodes, the first one being my node. 860 908 * 861 909 * => the merged relation should include two nodes only. the deleted node should still be … … 898 946 their.addPrimitive(theirRelation); 899 947 900 MergeVisitor visitor = newMergeVisitor(my,their);948 DataSetMerger visitor = new DataSetMerger(my,their); 901 949 visitor.merge(); 902 950 … … 934 982 their.setVersion("0.6"); 935 983 936 MergeVisitor visitor = newMergeVisitor(my,their);984 DataSetMerger visitor = new DataSetMerger(my,their); 937 985 visitor.merge(); 938 986 … … 997 1045 my.addPrimitive(w6); 998 1046 999 MergeVisitor visitor = newMergeVisitor(my,their);1047 DataSetMerger visitor = new DataSetMerger(my,their); 1000 1048 visitor.merge(); 1001 1049
Note:
See TracChangeset
for help on using the changeset viewer.