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

Last change on this file since 285 was 285, checked in by imi, 18 years ago
  • fixed test dependencies
  • added more functional tests
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 Main.ds = new DataSet();
26 }
27
28 public static Node createNode(int id) {
29 return createNode(id, 0, 0);
30 }
31
32 public static Node createNode(int id, double lat, double lon) {
33 Node n = createNode(lat, lon);
34 n.id = id;
35 return n;
36 }
37
38 public static Node createNode() {
39 return createNode(Math.random()*360-180, Math.random()*180-90);
40 }
41
42 public static Node createNode(double lat, double lon) {
43 Node node = new Node(new LatLon(lat,lon));
44 if (dataSet != null)
45 dataSet.nodes.add(node);
46 return node;
47 }
48
49
50 public static Segment createSegment(long id) {
51 Segment s = createSegment();
52 s.id = id;
53 return s;
54 }
55 public static Segment createSegment(long id, Node from, Node to) {
56 Segment s = new Segment(from, to);
57 s.id = id;
58 return s;
59 }
60 public static Segment createSegment() {
61 Segment segment = new Segment(createNode(), createNode());
62 if (dataSet != null)
63 dataSet.segments.add(segment);
64 return segment;
65 }
66
67
68 public static Way createWay() {
69 return createWay(0);
70 }
71 public static Way createWay(Segment... segments) {
72 return createWay(0, segments);
73 }
74 public static Way createWay(long id, Segment... segments) {
75 Way way = new Way();
76 way.segments.addAll(Arrays.asList(segments));
77 way.id = id;
78 if (dataSet != null)
79 dataSet.ways.add(way);
80 return way;
81 }
82
83 public static DataSet createDataSet() {
84 DataSet ds = new DataSet();
85 Node node1 = createNode();
86 Node node2 = createNode();
87 Node node3 = createNode();
88 Segment segment = createSegment(23, node1, node2);
89 Way way = createWay(42, segment);
90 ds.nodes.add(node1);
91 ds.nodes.add(node2);
92 ds.nodes.add(node3);
93 ds.segments.add(segment);
94 ds.ways.add(way);
95 return ds;
96 }
97
98 public static void assertContainsSame(Collection<OsmPrimitive> data, OsmPrimitive... all) {
99 Collection<OsmPrimitive> copy = new LinkedList<OsmPrimitive>(data);
100 copy.removeAll(Arrays.asList(all));
101 assertEquals(0, copy.size());
102 }
103}
Note: See TracBrowser for help on using the repository browser.