Changeset 11118 in josm for trunk/test/unit/org


Ignore:
Timestamp:
2016-10-11T20:20:06+02:00 (8 years ago)
Author:
simon04
Message:

fix #13094 - SimplifyWayAction for first node of closed way (patch by Tyndare, modified)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/test/unit/org/openstreetmap/josm/actions/SimplifyWayActionTest.java

    r10436 r11118  
    33
    44import static org.junit.Assert.assertEquals;
     5import static org.junit.Assert.assertNotNull;
    56import static org.junit.Assert.assertTrue;
     7
     8import java.util.Collection;
     9import java.util.Collections;
     10import java.util.stream.Stream;
    611
    712import org.junit.BeforeClass;
     
    914import org.openstreetmap.josm.JOSMFixture;
    1015import org.openstreetmap.josm.Main;
     16import org.openstreetmap.josm.command.DeleteCommand;
     17import org.openstreetmap.josm.command.SequenceCommand;
    1118import org.openstreetmap.josm.data.coor.LatLon;
    1219import org.openstreetmap.josm.data.osm.DataSet;
     
    1421import org.openstreetmap.josm.data.osm.Way;
    1522import org.openstreetmap.josm.gui.layer.OsmDataLayer;
     23import org.openstreetmap.josm.tools.Utils;
    1624
    1725/**
     
    97105        }
    98106    }
     107
     108    /**
     109     * Tests that also the first node may be simplified, see #13094.
     110     */
     111    @Test
     112    public void testSimplifyFirstNode() {
     113        final DataSet ds = new DataSet();
     114        final Node n1 = new Node(new LatLon(47.26269614984, 11.34044231149));
     115        final Node n2 = new Node(new LatLon(47.26274590831, 11.34053120859));
     116        final Node n3 = new Node(new LatLon(47.26276562382, 11.34034715039));
     117        final Node n4 = new Node(new LatLon(47.26264639132, 11.34035341438));
     118        final Way w = new Way();
     119        Stream.of(n1, n2, n3, n4, w).forEach(ds::addPrimitive);
     120        Stream.of(n1, n2, n3, n4, n1).forEach(w::addNode);
     121        final SequenceCommand command = action.simplifyWay(w);
     122        assertNotNull(command);
     123        assertEquals(2, command.getChildren().size());
     124        final Collection<DeleteCommand> deleteCommands = Utils.filteredCollection(command.getChildren(), DeleteCommand.class);
     125        assertEquals(1, deleteCommands.size());
     126        assertEquals(Collections.singleton(n1), deleteCommands.iterator().next().getParticipatingPrimitives());
     127    }
    99128}
Note: See TracChangeset for help on using the changeset viewer.