Changeset 12726 in josm for trunk/test/unit/org/openstreetmap/josm/command/AddPrimitivesCommandTest.java
- Timestamp:
- 2017-09-04T23:45:49+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/test/unit/org/openstreetmap/josm/command/AddPrimitivesCommandTest.java
r12636 r12726 23 23 import org.openstreetmap.josm.data.osm.Way; 24 24 import org.openstreetmap.josm.data.osm.WayData; 25 import org.openstreetmap.josm.gui.MainApplication;26 25 import org.openstreetmap.josm.gui.layer.OsmDataLayer; 27 26 import org.openstreetmap.josm.testutils.JOSMTestRules; … … 48 47 @Test 49 48 public void testAdd() { 50 OsmDataLayer layer1 = new OsmDataLayer(new DataSet(), "l1", null); 51 MainApplication.getLayerManager().addLayer(layer1); 52 53 List<PrimitiveData> testData = createTestData(); 54 assertTrue(new AddPrimitivesCommand(testData).executeCommand()); 55 56 testContainsTestData(layer1); 57 assertEquals(3, layer1.data.getAllSelected().size()); 49 DataSet ds = new DataSet(); 50 51 List<PrimitiveData> testData = createTestData(); 52 assertTrue(new AddPrimitivesCommand(testData, ds).executeCommand()); 53 54 testContainsTestData(ds); 55 assertEquals(3, ds.getAllSelected().size()); 58 56 } 59 57 … … 63 61 @Test 64 62 public void testAddSetSelection() { 65 OsmDataLayer layer1 = new OsmDataLayer(new DataSet(), "l1", null); 66 MainApplication.getLayerManager().addLayer(layer1); 67 68 List<PrimitiveData> testData = createTestData(); 69 assertTrue(new AddPrimitivesCommand(testData, testData.subList(2, 3)).executeCommand()); 70 71 testContainsTestData(layer1); 72 73 assertEquals(1, layer1.data.getAllSelected().size()); 74 assertEquals(1, layer1.data.getSelectedWays().size()); 75 } 76 77 /** 78 * Tests if the add command respects the layer. 63 DataSet ds = new DataSet(); 64 65 List<PrimitiveData> testData = createTestData(); 66 assertTrue(new AddPrimitivesCommand(testData, testData.subList(2, 3), ds).executeCommand()); 67 68 testContainsTestData(ds); 69 70 assertEquals(1, ds.getAllSelected().size()); 71 assertEquals(1, ds.getSelectedWays().size()); 72 } 73 74 /** 75 * Tests if the add command respects the data set. 79 76 */ 80 77 @Test 81 78 public void testAddToLayer() { 82 OsmDataLayer layer1 = new OsmDataLayer(new DataSet(), "l1", null); 83 OsmDataLayer layer2 = new OsmDataLayer(new DataSet(), "l1", null); 84 85 MainApplication.getLayerManager().addLayer(layer1); 86 MainApplication.getLayerManager().addLayer(layer2); 87 88 List<PrimitiveData> testData = createTestData(); 89 assertTrue(new AddPrimitivesCommand(testData, testData.subList(2, 3), layer1).executeCommand()); 90 91 testContainsTestData(layer1); 92 assertTrue(layer2.data.allPrimitives().isEmpty()); 93 94 assertEquals(1, layer1.data.getAllSelected().size()); 95 assertEquals(1, layer1.data.getSelectedWays().size()); 79 DataSet ds1 = new DataSet(); 80 DataSet ds2 = new DataSet(); 81 82 List<PrimitiveData> testData = createTestData(); 83 assertTrue(new AddPrimitivesCommand(testData, testData.subList(2, 3), ds1).executeCommand()); 84 85 testContainsTestData(ds1); 86 assertTrue(ds2.allPrimitives().isEmpty()); 87 88 assertEquals(1, ds1.getAllSelected().size()); 89 assertEquals(1, ds1.getSelectedWays().size()); 96 90 } 97 91 … … 101 95 @Test 102 96 public void testAddIgnoresExisting() { 103 OsmDataLayer layer1 = new OsmDataLayer(new DataSet(), "l1", null); 104 MainApplication.getLayerManager().addLayer(layer1); 105 106 List<PrimitiveData> testData = createTestData(); 107 assertTrue(new AddPrimitivesCommand(testData).executeCommand()); 108 assertEquals(2, layer1.data.getNodes().size()); 109 assertEquals(1, layer1.data.getWays().size()); 97 DataSet ds = new DataSet(); 98 99 List<PrimitiveData> testData = createTestData(); 100 assertTrue(new AddPrimitivesCommand(testData, ds).executeCommand()); 101 assertEquals(2, ds.getNodes().size()); 102 assertEquals(1, ds.getWays().size()); 110 103 111 104 testData.set(2, createTestNode(7)); 112 assertTrue(new AddPrimitivesCommand(testData ).executeCommand());113 114 assertEquals(3, layer1.data.getNodes().size());115 assertEquals(1, layer1.data.getWays().size());105 assertTrue(new AddPrimitivesCommand(testData, ds).executeCommand()); 106 107 assertEquals(3, ds.getNodes().size()); 108 assertEquals(1, ds.getWays().size()); 116 109 } 117 110 … … 121 114 @Test 122 115 public void testDescription() { 123 OsmDataLayer layer1 = new OsmDataLayer(new DataSet(), "l1", null); 124 MainApplication.getLayerManager().addLayer(layer1); 116 DataSet ds = new DataSet(); 125 117 126 118 List<PrimitiveData> testData = createTestData(); 127 119 NodeData data2 = createTestNode(7); 128 120 129 AddPrimitivesCommand command1 = new AddPrimitivesCommand(testData );130 AddPrimitivesCommand command2 = new AddPrimitivesCommand(Arrays.<PrimitiveData>asList(data2) );121 AddPrimitivesCommand command1 = new AddPrimitivesCommand(testData, ds); 122 AddPrimitivesCommand command2 = new AddPrimitivesCommand(Arrays.<PrimitiveData>asList(data2), ds); 131 123 132 124 assertEquals("Added 3 objects", command1.getDescriptionText()); … … 146 138 @Test 147 139 public void testUndo() { 148 OsmDataLayer layer1 = new OsmDataLayer(new DataSet(), "l1", null); 149 MainApplication.getLayerManager().addLayer(layer1); 150 151 List<PrimitiveData> testData = createTestData(); 152 153 AddPrimitivesCommand command = new AddPrimitivesCommand(testData); 140 DataSet ds = new DataSet(); 141 142 List<PrimitiveData> testData = createTestData(); 143 144 AddPrimitivesCommand command = new AddPrimitivesCommand(testData, ds); 154 145 155 146 assertTrue(command.executeCommand()); 156 147 157 assertEquals(3, layer1.data.allPrimitives().size());158 assertEquals(1, layer1.data.getWays().size());159 Way way = layer1.data.getWays().iterator().next();148 assertEquals(3, ds.allPrimitives().size()); 149 assertEquals(1, ds.getWays().size()); 150 Way way = ds.getWays().iterator().next(); 160 151 161 152 for (int i = 0; i < 2; i++) { … … 163 154 command.undoCommand(); 164 155 165 assertEquals(0, layer1.data.allPrimitives().size());166 assertEquals(0, layer1.data.getWays().size());156 assertEquals(0, ds.allPrimitives().size()); 157 assertEquals(0, ds.getWays().size()); 167 158 168 159 // redo 169 160 assertTrue(command.executeCommand()); 170 161 171 assertEquals(3, layer1.data.allPrimitives().size());172 assertEquals(1, layer1.data.getWays().size());173 assertSame(way, layer1.data.getWays().iterator().next());162 assertEquals(3, ds.allPrimitives().size()); 163 assertEquals(1, ds.getWays().size()); 164 assertSame(way, ds.getWays().iterator().next()); 174 165 } 175 166 } … … 181 172 @Test 182 173 public void testUndoIgnoresExisting() { 183 OsmDataLayer layer1 = new OsmDataLayer(new DataSet(), "l1", null); 184 MainApplication.getLayerManager().addLayer(layer1); 185 186 List<PrimitiveData> testData = createTestData(); 187 188 assertTrue(new AddPrimitivesCommand(testData).executeCommand()); 189 assertEquals(2, layer1.data.getNodes().size()); 190 assertEquals(1, layer1.data.getWays().size()); 174 DataSet ds = new DataSet(); 175 176 List<PrimitiveData> testData = createTestData(); 177 178 assertTrue(new AddPrimitivesCommand(testData, ds).executeCommand()); 179 assertEquals(2, ds.getNodes().size()); 180 assertEquals(1, ds.getWays().size()); 191 181 192 182 testData.set(2, createTestNode(7)); 193 183 194 AddPrimitivesCommand command = new AddPrimitivesCommand(testData );184 AddPrimitivesCommand command = new AddPrimitivesCommand(testData, ds); 195 185 196 186 assertTrue(command.executeCommand()); 197 187 198 assertEquals(3, layer1.data.getNodes().size());199 assertEquals(1, layer1.data.getWays().size());188 assertEquals(3, ds.getNodes().size()); 189 assertEquals(1, ds.getWays().size()); 200 190 201 191 for (int i = 0; i < 2; i++) { … … 203 193 command.undoCommand(); 204 194 205 assertEquals(2, layer1.data.getNodes().size());206 assertEquals(1, layer1.data.getWays().size());195 assertEquals(2, ds.getNodes().size()); 196 assertEquals(1, ds.getWays().size()); 207 197 208 198 // redo 209 199 assertTrue(command.executeCommand()); 210 200 211 assertEquals(3, layer1.data.getNodes().size());212 assertEquals(1, layer1.data.getWays().size());201 assertEquals(3, ds.getNodes().size()); 202 assertEquals(1, ds.getWays().size()); 213 203 } 214 204 } … … 219 209 @Test 220 210 public void testParticipatingPrimitives() { 221 OsmDataLayer layer1 = new OsmDataLayer(new DataSet(), "l1", null); 222 MainApplication.getLayerManager().addLayer(layer1); 223 224 List<PrimitiveData> testData = createTestData(); 225 AddPrimitivesCommand command = new AddPrimitivesCommand(testData); 211 DataSet ds = new DataSet(); 212 213 List<PrimitiveData> testData = createTestData(); 214 AddPrimitivesCommand command = new AddPrimitivesCommand(testData, ds); 226 215 assertTrue(command.executeCommand()); 227 216 228 217 assertEquals(3, command.getParticipatingPrimitives().size()); 229 HashSet<OsmPrimitive> should = new HashSet<>( layer1.data.allPrimitives());218 HashSet<OsmPrimitive> should = new HashSet<>(ds.allPrimitives()); 230 219 assertEquals(should, new HashSet<>(command.getParticipatingPrimitives())); 231 220 … … 245 234 246 235 List<PrimitiveData> testData = createTestData(); 247 new AddPrimitivesCommand(testData ).fillModifiedData(modified, deleted, added);236 new AddPrimitivesCommand(testData, new DataSet()).fillModifiedData(modified, deleted, added); 248 237 249 238 assertArrayEquals(new Object[] {}, modified.toArray()); … … 252 241 } 253 242 254 private void testContainsTestData( OsmDataLayer layer1) {255 assertEquals(3, layer1.data.allPrimitives().size());256 assertEquals(2, layer1.data.getNodes().size());257 assertEquals(1, layer1.data.getWays().size());258 assertEquals(3, layer1.data.allModifiedPrimitives().size());259 for (OsmPrimitive n : layer1.data.allPrimitives()) {243 private void testContainsTestData(DataSet data) { 244 assertEquals(3, data.allPrimitives().size()); 245 assertEquals(2, data.getNodes().size()); 246 assertEquals(1, data.getWays().size()); 247 assertEquals(3, data.allModifiedPrimitives().size()); 248 for (OsmPrimitive n : data.allPrimitives()) { 260 249 assertEquals("test", n.get("test")); 261 250 assertTrue(n.isModified()); 262 251 } 263 252 264 for (Node n : layer1.data.getNodes()) {253 for (Node n : data.getNodes()) { 265 254 assertEquals(LatLon.ZERO, n.getCoor()); 266 255 } 267 256 268 for (Way w : layer1.data.getWays()) {257 for (Way w : data.getWays()) { 269 258 assertEquals(2, w.getNodes().size()); 270 259 assertEquals(5, w.getNode(0).getId());
Note:
See TracChangeset
for help on using the changeset viewer.