source: josm/trunk/test/unit/org/openstreetmap/josm/gui/dialogs/relation/actions/RelationEditorActionsTest.java@ 9657

Last change on this file since 9657 was 9657, checked in by Don-vip, 8 years ago

fix #12410 - new button to refresh relation in relation editor (patch by kolesar, modified for checkstyle, javadoc, unit test)

File size: 4.8 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.dialogs.relation.actions;
3
4import org.junit.BeforeClass;
5import org.junit.Test;
6import org.openstreetmap.josm.JOSMFixture;
7import org.openstreetmap.josm.data.osm.DataSet;
8import org.openstreetmap.josm.data.osm.Relation;
9import org.openstreetmap.josm.gui.dialogs.relation.MemberTable;
10import org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel;
11import org.openstreetmap.josm.gui.dialogs.relation.RelationAware;
12import org.openstreetmap.josm.gui.dialogs.relation.SelectionTableModel;
13import org.openstreetmap.josm.gui.layer.OsmDataLayer;
14import org.openstreetmap.josm.gui.tagging.TagEditorModel;
15import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField;
16
17/**
18 * Unit tests for relation editor actions.
19 */
20public 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}
Note: See TracBrowser for help on using the repository browser.