Fix code duplication issues

Signed-off-by: Taylor Smock <smocktaylor@gmail.com>
pull/1/head
Taylor Smock 2019-09-21 07:48:33 -06:00
rodzic 705e9b80ab
commit e03241cc06
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 9FDE4FFEF1C4CCB7
1 zmienionych plików z 23 dodań i 30 usunięć

Wyświetl plik

@ -20,41 +20,22 @@ public class RapiDAddComandTest {
public JOSMTestRules test = new JOSMTestRules();
@Test
public void testMoveCollectionSingleParent() {
DataSet ds1 = new DataSet();
DataSet ds2 = new DataSet();
Way way1 = TestUtils.newWay("highway=residential", new Node(new LatLon(0, 0)),
new Node(new LatLon(0, 0.1)));
for (Node node : way1.getNodes()) {
ds1.addPrimitive(node);
}
ds1.addPrimitive(way1);
ds1.lock();
RapiDAddCommand command = new RapiDAddCommand(ds1, ds2, Collections.singleton(way1));
command.executeCommand();
Assert.assertTrue(ds2.containsWay(way1));
Assert.assertTrue(ds2.containsNode(way1.firstNode()));
Assert.assertTrue(ds2.containsNode(way1.lastNode()));
Assert.assertFalse(ds1.containsWay(way1));
}
@Test
public void testMoveCollectionMultipleParent() {
public void testMoveCollection() {
DataSet ds1 = new DataSet();
DataSet ds2 = new DataSet();
Way way1 = TestUtils.newWay("highway=residential", new Node(new LatLon(0, 0)), new Node(new LatLon(0, 0.1)));
Way way2 = TestUtils.newWay("highway=residential", new Node(new LatLon(-0.1, -0.2)), way1.firstNode());
for (Node node : way1.getNodes()) {
ds1.addPrimitive(node);
}
for (Node node : way2.getNodes()) {
Way way3 = TestUtils.newWay("highway=residential", new Node(new LatLon(65, 65)), new Node(new LatLon(66, 66)));
for (Way way : Arrays.asList(way1, way2, way3)) {
for (Node node : way.getNodes()) {
if (!ds1.containsNode(node)) {
ds1.addPrimitive(node);
}
}
ds1.addPrimitive(way1);
ds1.addPrimitive(way2);
if (!ds1.containsWay(way)) {
ds1.addPrimitive(way);
}
}
ds1.lock();
RapiDAddCommand command = new RapiDAddCommand(ds1, ds2, Arrays.asList(way1, way2));
command.executeCommand();
@ -62,12 +43,24 @@ public class RapiDAddComandTest {
Assert.assertTrue(ds2.containsNode(way1.firstNode()));
Assert.assertTrue(ds2.containsNode(way1.lastNode()));
Assert.assertFalse(ds1.containsWay(way1));
Assert.assertTrue(ds2.containsWay(way2));
Assert.assertTrue(ds2.containsNode(way2.firstNode()));
Assert.assertTrue(ds2.containsNode(way2.lastNode()));
Assert.assertFalse(ds1.containsWay(way2));
Assert.assertFalse(ds2.containsWay(way3));
command = new RapiDAddCommand(ds1, ds2, Arrays.asList(way3));
command.executeCommand();
Assert.assertTrue(ds2.containsWay(way3));
Assert.assertTrue(ds2.containsNode(way3.firstNode()));
Assert.assertTrue(ds2.containsNode(way3.lastNode()));
Assert.assertFalse(ds1.containsWay(way3));
}
@Test
public void testCreateConnections() {
DataSet ds1 = new DataSet();
Way way1 = TestUtils.newWay("highway=residential", new Node(new LatLon(0, 0)), new Node(new LatLon(0, 0.1)));
Way way1 = TestUtils.newWay("highway=residential", new Node(new LatLon(0, 0)), new Node(new LatLon(0, 0.15)));
Way way2 = TestUtils.newWay("highway=residential", new Node(new LatLon(0, 0.05)),
new Node(new LatLon(0.05, 0.2)));
way2.firstNode().put("conn",