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

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