A note to future developers. Since many of the tools share behaviours the first test sequence will test most functionality so it will be the longest. For the rest of the test sequences only the new functionality for the tools need to be tested. For example you will only need to test geometry move once. However undo/redo needs to be tested for every functionality.
Setup
- Create new map
- Add bc_lakes
- Add bc_rivers
- Add bc_hospitals
- Create a new Layer called "New Layer". Make sure the layer has the geometry type "Geometry"
- Select bc_lakes
Test Polygon Tool
- Select edit tool category and make sure create line and create point tools are disabled.
- Create a lake. (double-click to accept, dont' click over first vertex)
- Click to add vertices (don't click over geometry)
- Undo the creation. Undo as expected?
- Redo the creation. Redo to original?
- Rollback. No funny artifacts? Refreshed ok?
- Create Lake.
- Click over start vertex to finish.
- Commit
- Rollback
- Refresh (is new lake still there?)
- Select Delete Tool
- Delete Lake
- Commit
- Create a lake and cut a hole in it with the hole cutting tool.
- Change back to Polygon Create Tool
- Select a geometry
- Drag vertex. Does Geometry change shape?
- Ctrl-Click a different vertex. Are 2 vertices select?
- Ctrl-Click same vertex. Has it been deselected?
- Shift-Click vertex. Is it selected again?
- Shift-Click vertex. Is it still selected? (It should be)
- Drag vertex. Do both vertices move?
- Drag a box to select a few (but not all) vertices
- Drag a selected vertex. Are all selected vertices moved?
- Undo all changes.
- Redo all changes.
- Select all vertices (drag box to include all vertices)
- Click in center of geometry and drag. Entire geometry should move including hole/island.
- Undo move
- Redo move
- Click out side of geometry. No selected vertices? Is rendering updated?
- Select Geometry again.
- CTRL-ALT-click in geometry and drag (hold down keys). Does entire geometry move?
- Double click. Is the rendering updated?
- Click on edge (not vertex). Is a new vertex created?
- Undo.
- Redo.
- Select New vertex. Edit>Delete (Is vertex deleted?)
- Undo.
- Redo.
- Select many vertices. Edit>Delete (Are all deleted?)
- Undo.
- Redo.
- Undo.
Test Line Tool
- Select bc_rivers
- Check to make sure that Create Point, Create Polygon tools are disabled.
- Create a river.
- Undo the creation. Undo as expected?
- Redo the creation. Redo to original?
- Rollback. No funny artifacts? Refreshed ok?
- Create a river.
- Commit
- Rollback (is new riverstill there?)
- Select Delete Tool
- Delete River
- Commit
- Select a geometry
- Drag vertex. Does Geometry change shape?
- Ctrl-Click a different vertex. Are 2 vertices select?
- Drag vertex. Do both vertices move?
- Double click. Is the rendering updated?
Test Point Tool
- Select bc_hospitals
- Check to make sure that Create Line, Create Polygon, FreeHand draw tools are disabled.
- Create a point.
- Create another point.
- Undo the creation. Undo as expected?
- Redo the creation. Redo to original?
- Rollback. No funny artifacts? Refreshed ok?
- Create a point.
- Commit
- Rollback (is new point still there?)
- Select Delete Tool
- Delete point
- Commit
- Select a geometry
- Drag vertex. Does point move?
- Double click. Is the rendering updated?
Test FreeHand Tool
- Select bc_lakes layer
- Click point. (Make sure nothing happens)
- Draw a shape within an existing Feature.
- Double click (Is a hole created?)
- Draw a shape not over an existing feature (IE blank area)
- Double click (is new feature created?) (is editing outline gone?)
- Undo (is outline visible again?) (has rendering of feature disappeared?)
- Undo (has edit out line disappeared?)
- Undo (has hole been removed?)
- Redo so that hole and feature are both there.
- Select bc_rivers
- Draw river
- double click (has a new river been created and edit outline gone?)
- Click point. (Make sure nothing happens)
- Undo (has river been undone?)
- Redo (river is back?)
- Continue river by starting a new line on one end point of the river.
- Continue river on other end of river
- Undo.
- Undo.
- Redo.
- Redo.
- Select "New Layer"
- Draw a line.
- Draw a Polygon. (is Polygon filled?)
- Activate Select tool
- Select 1st line drawn
- Activate FreeHandTool
- Turn Line into Polygon.
- Undo (is polygon turned back into line?)
- Undo(Is line unselected an previous polygon selected)
- Undo
- Undo
- Redo until all undos are redone.
- Click a point (Is a point created?)
- Turn Point into line
- Turn Line into a polygon.
- undo and redo last 3 steps.
Test Hole Tool
- Select bc_rivers (Make sure hole tool is not available)
- Select bc_lakes
- Select Hole Tool
- Click away from any polygon (Nothing selected)
- Draw polygon within polygon.
- Double click. (Is hole created?)
- draw a polygon that starts within a polygon but goes outside of polygon. (This should not be allowed to commit.)
- Click within a hole. (This should select hole.)
- Move vertex of hole.
- Double click (Hole modified?)
Test Rectangle Tool
- Select bc_lakes
- Activate Rectangle Tool
- Draw Rectangle (Is new Rectangle automatically created?)
- Draw new Rectangle (Is rectangle created again?
- Undo/Redo testing
- Select bc_rivers
- Draw Rectangle (Make sure a rectangle is drawn)
Test Ellipse Tool
- Select bc_lakes
- Activate Ellipse Tool
- Draw Rectangle (Is new Ellipseautomatically created?)
- Draw new Ellipse(Is Ellipsecreated again?
- Undo/Redo testing
- Select bc_rivers
- Draw Ellipse (Make sure a Ellipseis drawn)
Test Select Tool
- Select a point
- select a line
- select a polygon
- Select a polygon with a hole. (Can hole be edited?)
Test Split Tool
- Split polygon without hole
- Move both parts to ensure proper split.
- Split polygon with hole (make sure hole is split)
- Test Undo/Redo
- Move both parts to ensure proper split.
- Split polygon against a multiple vertex polygon.
- Test Undo/Redo
- Move all parts to ensure proper split.
- Split polygon with hole with multi vertex line. (Make sure hole is not split)
- Test Undo/Redo
- Move all parts.
- Create split line that splits multiple polygons.
- Test Undo/Redo
- Move all parts
- Draw split line that intersects nothing.
- Add countries layer
- Split Canada
- Test Undo/Redo
- Move Parts
Test Difference Tool
- Select countries layer
- Create a polygon fills in the mediteranean sea using Diff Tool.
- Test Undo/Redo
- Delete Switzerland
- Fill in area of switzerland using Diff Tool