1 | // License: GPL. For details, see LICENSE file.
|
---|
2 | package org.openstreetmap.josm.gui.dialogs.relation.actions;
|
---|
3 |
|
---|
4 | import org.junit.BeforeClass;
|
---|
5 | import org.junit.Test;
|
---|
6 | import org.openstreetmap.josm.JOSMFixture;
|
---|
7 | import org.openstreetmap.josm.data.osm.DataSet;
|
---|
8 | import org.openstreetmap.josm.data.osm.Relation;
|
---|
9 | import org.openstreetmap.josm.gui.dialogs.relation.MemberTable;
|
---|
10 | import org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel;
|
---|
11 | import org.openstreetmap.josm.gui.dialogs.relation.RelationAware;
|
---|
12 | import org.openstreetmap.josm.gui.dialogs.relation.SelectionTableModel;
|
---|
13 | import org.openstreetmap.josm.gui.layer.OsmDataLayer;
|
---|
14 | import org.openstreetmap.josm.gui.tagging.TagEditorModel;
|
---|
15 | import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField;
|
---|
16 |
|
---|
17 | /**
|
---|
18 | * Unit tests for relation editor actions.
|
---|
19 | */
|
---|
20 | public class RelationEditorActionsTest {
|
---|
21 |
|
---|
22 | /**
|
---|
23 | * Setup test.
|
---|
24 | */
|
---|
25 | @BeforeClass
|
---|
26 | public static void setUpBeforeClass() {
|
---|
27 | JOSMFixture.createUnitTestFixture().init(true);
|
---|
28 | }
|
---|
29 |
|
---|
30 | /**
|
---|
31 | * Test all actions with minimal data.
|
---|
32 | */
|
---|
33 | @Test
|
---|
34 | public void testAllActions() {
|
---|
35 | final DataSet ds = new DataSet();
|
---|
36 | final Relation orig = new Relation(1);
|
---|
37 | ds.addPrimitive(orig);
|
---|
38 | OsmDataLayer layer = new OsmDataLayer(new DataSet(), "test", null);
|
---|
39 | MemberTableModel memberTableModel = new MemberTableModel(orig, layer, null);
|
---|
40 | SelectionTableModel selectionTableModel = new SelectionTableModel(layer);
|
---|
41 |
|
---|
42 | RelationAware editor = new RelationAware() {
|
---|
43 | private Relation r = orig;
|
---|
44 |
|
---|
45 | @Override
|
---|
46 | public void setRelation(Relation relation) {
|
---|
47 | r = relation;
|
---|
48 | }
|
---|
49 |
|
---|
50 | @Override
|
---|
51 | public boolean isDirtyRelation() {
|
---|
52 | return false;
|
---|
53 | }
|
---|
54 |
|
---|
55 | @Override
|
---|
56 | public Relation getRelationSnapshot() {
|
---|
57 | return r;
|
---|
58 | }
|
---|
59 |
|
---|
60 | @Override
|
---|
61 | public Relation getRelation() {
|
---|
62 | return r;
|
---|
63 | }
|
---|
64 | };
|
---|
65 |
|
---|
66 | MemberTable memberTable = new MemberTable(layer, editor.getRelation(), memberTableModel);
|
---|
67 | TagEditorModel tagModel = new TagEditorModel();
|
---|
68 | AutoCompletingTextField tfRole = new AutoCompletingTextField();
|
---|
69 |
|
---|
70 | new AddSelectedAfterSelection(memberTableModel, selectionTableModel, editor).actionPerformed(null);
|
---|
71 | new AddSelectedBeforeSelection(memberTableModel, selectionTableModel, editor).actionPerformed(null);
|
---|
72 | new AddSelectedAtStartAction(memberTableModel, selectionTableModel, editor).actionPerformed(null);
|
---|
73 | new AddSelectedAtEndAction(memberTableModel, selectionTableModel, editor).actionPerformed(null);
|
---|
74 |
|
---|
75 | new ApplyAction(memberTable, memberTableModel, tagModel, layer, editor).actionPerformed(null);
|
---|
76 | new RefreshAction(memberTable, memberTableModel, tagModel, layer, editor).actionPerformed(null);
|
---|
77 | new OKAction(memberTable, memberTableModel, tagModel, layer, editor, tfRole).actionPerformed(null);
|
---|
78 | new CancelAction(memberTable, memberTableModel, tagModel, layer, editor, tfRole).actionPerformed(null);
|
---|
79 |
|
---|
80 | new CopyMembersAction(memberTableModel, layer, editor).actionPerformed(null);
|
---|
81 | new PasteMembersAction(memberTableModel, layer, editor).actionPerformed(null);
|
---|
82 |
|
---|
83 | new DeleteCurrentRelationAction(layer, editor).actionPerformed(null);
|
---|
84 |
|
---|
85 | new DownloadIncompleteMembersAction(memberTable, memberTableModel, "downloadincomplete", layer, editor).actionPerformed(null);
|
---|
86 | new DownloadSelectedIncompleteMembersAction(memberTable, memberTableModel, null, layer, editor).actionPerformed(null);
|
---|
87 |
|
---|
88 | new DuplicateRelationAction(memberTableModel, tagModel, layer).actionPerformed(null);
|
---|
89 | new EditAction(memberTable, memberTableModel, layer).actionPerformed(null);
|
---|
90 |
|
---|
91 | new MoveDownAction(memberTable, memberTableModel, "movedown").actionPerformed(null);
|
---|
92 | new MoveUpAction(memberTable, memberTableModel, "moveup").actionPerformed(null);
|
---|
93 | new RemoveAction(memberTable, memberTableModel, "remove").actionPerformed(null);
|
---|
94 |
|
---|
95 | new RemoveSelectedAction(memberTableModel, selectionTableModel, layer).actionPerformed(null);
|
---|
96 | new SelectedMembersForSelectionAction(memberTableModel, selectionTableModel, layer).actionPerformed(null);
|
---|
97 |
|
---|
98 | new SelectPrimitivesForSelectedMembersAction(memberTable, memberTableModel, layer).actionPerformed(null);
|
---|
99 |
|
---|
100 | new SortAction(memberTable, memberTableModel).actionPerformed(null);
|
---|
101 | new SortBelowAction(memberTable, memberTableModel).actionPerformed(null);
|
---|
102 | new ReverseAction(memberTable, memberTableModel).actionPerformed(null);
|
---|
103 |
|
---|
104 | new SetRoleAction(memberTable, memberTableModel, tfRole).actionPerformed(null);
|
---|
105 | }
|
---|
106 | }
|
---|