Changeset 11102 in josm for trunk/test/unit


Ignore:
Timestamp:
2016-10-08T14:04:09+02:00 (8 years ago)
Author:
Don-vip
Message:

add more unit tests

Location:
trunk/test/unit/org/openstreetmap/josm
Files:
4 added
2 edited

Legend:

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

    r10580 r11102  
    1010import java.io.InputStream;
    1111import java.util.Arrays;
     12import java.util.Collection;
    1213import java.util.Comparator;
    1314
     15import org.openstreetmap.josm.command.Command;
    1416import org.openstreetmap.josm.data.osm.Node;
     17import org.openstreetmap.josm.data.osm.OsmPrimitive;
    1518import org.openstreetmap.josm.data.osm.OsmUtils;
    1619import org.openstreetmap.josm.data.osm.Relation;
     
    245248        return relation;
    246249    }
     250
     251    /**
     252     * Creates a new empty command.
     253     * @return a new empty command
     254     */
     255    public static Command newCommand() {
     256        return new Command() {
     257            @Override
     258            public String getDescriptionText() {
     259                return "";
     260            }
     261
     262            @Override
     263            public void fillModifiedData(Collection<OsmPrimitive> modified, Collection<OsmPrimitive> deleted,
     264                    Collection<OsmPrimitive> added) {
     265                // Do nothing
     266            }
     267        };
     268    }
    247269}
  • trunk/test/unit/org/openstreetmap/josm/gui/dialogs/CommandStackDialogTest.java

    r11024 r11102  
    77import org.junit.Rule;
    88import org.junit.Test;
     9import org.openstreetmap.josm.Main;
     10import org.openstreetmap.josm.TestUtils;
     11import org.openstreetmap.josm.command.Command;
     12import org.openstreetmap.josm.data.osm.DataSet;
     13import org.openstreetmap.josm.gui.layer.OsmDataLayer;
    914import org.openstreetmap.josm.testutils.JOSMTestRules;
    1015
     
    2429
    2530    /**
    26      * Unit test of {@link CommandStackDialog} class.
     31     * Unit test of {@link CommandStackDialog} class - empty case.
    2732     */
    2833    @Test
    29     public void testCommandStackDialog() {
     34    public void testCommandStackDialogEmpty() {
    3035        CommandStackDialog dlg = new CommandStackDialog();
    3136        dlg.showDialog();
     
    3439        assertFalse(dlg.isVisible());
    3540    }
     41
     42    /**
     43     * Unit test of {@link CommandStackDialog} class - not empty case.
     44     */
     45    @Test
     46    public void testCommandStackDialogNotEmpty() {
     47        OsmDataLayer layer = new OsmDataLayer(new DataSet(), "", null);
     48        Main.getLayerManager().addLayer(layer);
     49        try {
     50            Command cmd1 = TestUtils.newCommand();
     51            Command cmd2 = TestUtils.newCommand();
     52            Main.main.undoRedo.add(cmd1);
     53            Main.main.undoRedo.add(cmd2);
     54            Main.main.undoRedo.undo(1);
     55
     56            assertFalse(Main.main.undoRedo.commands.isEmpty());
     57            assertFalse(Main.main.undoRedo.redoCommands.isEmpty());
     58
     59            CommandStackDialog dlg = new CommandStackDialog();
     60            dlg.showDialog();
     61            assertTrue(dlg.isVisible());
     62            dlg.hideDialog();
     63            assertFalse(dlg.isVisible());
     64        } finally {
     65            Main.main.undoRedo.clean();
     66            Main.getLayerManager().removeLayer(layer);
     67        }
     68    }
    3669}
Note: See TracChangeset for help on using the changeset viewer.