source: josm/test/unit/org/openstreetmap/josm/testframework/MotherObject.java@ 284

Last change on this file since 284 was 271, checked in by imi, 18 years ago
  • fixed bug in 'combine way' that did not collect all properties.
File size: 2.7 KB
Line 
1package org.openstreetmap.josm.testframework;
2
3import java.util.Arrays;
4import java.util.Collection;
5import java.util.LinkedList;
6
7import junit.framework.TestCase;
8
9import org.openstreetmap.josm.Main;
10import org.openstreetmap.josm.data.coor.LatLon;
11import org.openstreetmap.josm.data.osm.DataSet;
12import org.openstreetmap.josm.data.osm.Node;
13import org.openstreetmap.josm.data.osm.OsmPrimitive;
14import org.openstreetmap.josm.data.osm.Segment;
15import org.openstreetmap.josm.data.osm.Way;
16import org.openstreetmap.josm.data.projection.Epsg4326;
17
18abstract public class MotherObject extends TestCase {
19
20 public static DataSet dataSet;
21
22 @Override protected void setUp() throws Exception {
23 super.setUp();
24 Main.proj = new Epsg4326();
25 }
26
27 public static Node createNode(int id) {
28 return createNode(id, 0, 0);
29 }
30
31 public static Node createNode(int id, double lat, double lon) {
32 Node n = createNode(lat, lon);
33 n.id = id;
34 return n;
35 }
36
37 public static Node createNode() {
38 return createNode(Math.random()*360-180, Math.random()*180-90);
39 }
40
41 public static Node createNode(double lat, double lon) {
42 Node node = new Node(new LatLon(lat,lon));
43 if (dataSet != null)
44 dataSet.nodes.add(node);
45 return node;
46 }
47
48
49 public static Segment createSegment(long id) {
50 Segment s = createSegment();
51 s.id = id;
52 return s;
53 }
54 public static Segment createSegment(long id, Node from, Node to) {
55 Segment s = new Segment(from, to);
56 s.id = id;
57 return s;
58 }
59 public static Segment createSegment() {
60 Segment segment = new Segment(createNode(), createNode());
61 if (dataSet != null)
62 dataSet.segments.add(segment);
63 return segment;
64 }
65
66
67 public static Way createWay() {
68 return createWay(0);
69 }
70 public static Way createWay(Segment... segments) {
71 return createWay(0, segments);
72 }
73 public static Way createWay(long id, Segment... segments) {
74 Way way = new Way();
75 way.segments.addAll(Arrays.asList(segments));
76 way.id = id;
77 if (dataSet != null)
78 dataSet.ways.add(way);
79 return way;
80 }
81
82 public static DataSet createDataSet() {
83 DataSet ds = new DataSet();
84 Node node1 = createNode();
85 Node node2 = createNode();
86 Node node3 = createNode();
87 Segment segment = createSegment(23, node1, node2);
88 Way way = createWay(42, segment);
89 ds.nodes.add(node1);
90 ds.nodes.add(node2);
91 ds.nodes.add(node3);
92 ds.segments.add(segment);
93 ds.ways.add(way);
94 return ds;
95 }
96
97 public static void assertContainsSame(Collection<OsmPrimitive> data, OsmPrimitive... all) {
98 Collection<OsmPrimitive> copy = new LinkedList<OsmPrimitive>(data);
99 copy.removeAll(Arrays.asList(all));
100 assertEquals(0, copy.size());
101 }
102}
Note: See TracBrowser for help on using the repository browser.