source: josm/test/unit/org/openstreetmap/josm/data/osm/DataSetTest.java@ 298

Last change on this file since 298 was 298, checked in by imi, 17 years ago
  • added license description to head of each source file
File size: 2.5 KB
Line 
1// License: GPL. Copyright 2007 by Immanuel Scholz and others
2package org.openstreetmap.josm.data.osm;
3
4import java.util.Collection;
5import java.util.Iterator;
6import java.util.LinkedList;
7
8import org.openstreetmap.josm.data.SelectionChangedListener;
9import org.openstreetmap.josm.testframework.MotherObject;
10
11public class DataSetTest extends MotherObject {
12
13 private final class TestSelectionChangeListener implements SelectionChangedListener {
14 public Collection<? extends OsmPrimitive> called;
15 public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) {
16 called = newSelection;
17 }
18 }
19
20 private DataSet ds;
21 private Node node1;
22 private Node node2;
23 private Node node3;
24 private Segment segment;
25 private Way way;
26
27 @Override protected void setUp() throws Exception {
28 super.setUp();
29 ds = createDataSet();
30 Iterator<Node> it = ds.nodes.iterator();
31 node1 = it.next();
32 node2 = it.next();
33 node3 = it.next();
34 segment = ds.segments.iterator().next();
35 way = ds.ways.iterator().next();
36 }
37
38 public void testAllPrimitives() {
39 Collection<OsmPrimitive> all = ds.allPrimitives();
40 assertContainsSame(all, node1, node2, node3, segment, way);
41 }
42
43 public void testAllNonDeletedPrimitives() {
44 assertEquals(5, ds.allNonDeletedPrimitives().size());
45 node1.deleted = true;
46 assertEquals(4, ds.allNonDeletedPrimitives().size());
47 }
48
49 public void testGetSelected() {
50 node1.selected = true;
51 segment.selected = true;
52 Collection<OsmPrimitive> sel = ds.getSelected();
53 assertContainsSame(sel, node1, segment);
54 }
55
56 public void testSetSelected() {
57 Collection<OsmPrimitive> sel = new LinkedList<OsmPrimitive>();
58 sel.add(node1);
59 sel.add(way);
60 ds.setSelected(sel);
61 assertTrue(node1.selected);
62 assertFalse(node2.selected);
63 assertTrue(way.selected);
64 }
65
66 public void testSetSelectedOsmPrimitive() {
67 ds.setSelected(node3);
68 assertTrue(node3.selected);
69 assertFalse(node2.selected);
70
71 ds.setSelected();
72 assertFalse(node3.selected || node2.selected);
73
74 ds.setSelected(node1, way);
75 assertTrue(node1.selected && way.selected);
76 assertFalse(node3.selected);
77
78 ds.setSelected((OsmPrimitive)null);
79 assertFalse(node1.selected || node2.selected || node3.selected || way.selected);
80 }
81
82 public void testFireSelectionChanged() {
83 TestSelectionChangeListener l = new TestSelectionChangeListener();
84 DataSet.listeners.add(l);
85 ds.setSelected(segment);
86 assertNotNull(l.called);
87 assertEquals(1, l.called.size());
88 assertSame(segment, l.called.iterator().next());
89 DataSet.listeners.remove(l);
90 }
91}
Note: See TracBrowser for help on using the repository browser.