1 | package org.openstreetmap.josm.data.osm
|
---|
2 |
|
---|
3 | class SimplePrimitiveIdTest extends GroovyTestCase {
|
---|
4 |
|
---|
5 | void testNode() {
|
---|
6 | assert SimplePrimitiveId.fromString("node/123") == new SimplePrimitiveId(123, OsmPrimitiveType.NODE)
|
---|
7 | assert SimplePrimitiveId.fromString("n123") == new SimplePrimitiveId(123, OsmPrimitiveType.NODE)
|
---|
8 | assert SimplePrimitiveId.fromString("node123") == new SimplePrimitiveId(123, OsmPrimitiveType.NODE)
|
---|
9 | assert SimplePrimitiveId.fromString("n123456789123456789") == new SimplePrimitiveId(123456789123456789, OsmPrimitiveType.NODE)
|
---|
10 | }
|
---|
11 |
|
---|
12 | void testWay() {
|
---|
13 | assert SimplePrimitiveId.fromString("way/123") == new SimplePrimitiveId(123, OsmPrimitiveType.WAY)
|
---|
14 | assert SimplePrimitiveId.fromString("w123") == new SimplePrimitiveId(123, OsmPrimitiveType.WAY)
|
---|
15 | assert SimplePrimitiveId.fromString("way123") == new SimplePrimitiveId(123, OsmPrimitiveType.WAY)
|
---|
16 | assert SimplePrimitiveId.fromString("w123456789123456789") == new SimplePrimitiveId(123456789123456789, OsmPrimitiveType.WAY)
|
---|
17 | }
|
---|
18 |
|
---|
19 | void testRelation() {
|
---|
20 | assert SimplePrimitiveId.fromString("relation/123") == new SimplePrimitiveId(123, OsmPrimitiveType.RELATION)
|
---|
21 | assert SimplePrimitiveId.fromString("r123") == new SimplePrimitiveId(123, OsmPrimitiveType.RELATION)
|
---|
22 | assert SimplePrimitiveId.fromString("rel123") == new SimplePrimitiveId(123, OsmPrimitiveType.RELATION)
|
---|
23 | assert SimplePrimitiveId.fromString("relation123") == new SimplePrimitiveId(123, OsmPrimitiveType.RELATION)
|
---|
24 | }
|
---|
25 |
|
---|
26 | void testBad() {
|
---|
27 | shouldFail { SimplePrimitiveId.fromString("foobar") }
|
---|
28 | }
|
---|
29 |
|
---|
30 | void testFuzzy() {
|
---|
31 | assert SimplePrimitiveId.fuzzyParse("foo relation/123 bar").toString() == "[relation 123]"
|
---|
32 | assert SimplePrimitiveId.fuzzyParse("foo relation/123 and way/345 but also node/789").toString() == "[relation 123, way 345, node 789]"
|
---|
33 | assert SimplePrimitiveId.fuzzyParse("foo relation/123-24 and way/345-346 but also node/789").toString() == "[relation 123, relation 124, way 345, way 346, node 789]"
|
---|
34 | }
|
---|
35 |
|
---|
36 | void testFromCopyAction() {
|
---|
37 | assert SimplePrimitiveId.fromString("node 123") == new SimplePrimitiveId(123, OsmPrimitiveType.NODE)
|
---|
38 | assert SimplePrimitiveId.fromString("way 123") == new SimplePrimitiveId(123, OsmPrimitiveType.WAY)
|
---|
39 | assert SimplePrimitiveId.fromString("relation 123") == new SimplePrimitiveId(123, OsmPrimitiveType.RELATION)
|
---|
40 | }
|
---|
41 |
|
---|
42 | void testMultipleIDs() {
|
---|
43 | assert SimplePrimitiveId.multipleFromString("node/234").toString() == "[node 234]"
|
---|
44 | assert SimplePrimitiveId.multipleFromString("node/234-234").toString() == "[node 234]"
|
---|
45 | assert SimplePrimitiveId.multipleFromString("node/2-1").toString() == "[]"
|
---|
46 | assert SimplePrimitiveId.multipleFromString("node/123-124").toString() == "[node 123, node 124]"
|
---|
47 | assert SimplePrimitiveId.multipleFromString("n/123-124").toString() == "[node 123, node 124]"
|
---|
48 | assert SimplePrimitiveId.multipleFromString("node123-126").toString() == "[node 123, node 124, node 125, node 126]"
|
---|
49 | assert SimplePrimitiveId.multipleFromString("way/123-123").toString() == "[way 123]"
|
---|
50 | assert SimplePrimitiveId.multipleFromString("w/123-127").toString() == "[way 123, way 124, way 125, way 126, way 127]"
|
---|
51 | assert SimplePrimitiveId.multipleFromString("way123-125").toString() == "[way 123, way 124, way 125]"
|
---|
52 | assert SimplePrimitiveId.multipleFromString("relation/123-125").toString() == "[relation 123, relation 124, relation 125]"
|
---|
53 | assert SimplePrimitiveId.multipleFromString("r/123-125").toString() == "[relation 123, relation 124, relation 125]"
|
---|
54 | assert SimplePrimitiveId.multipleFromString("relation123-125").toString() == "[relation 123, relation 124, relation 125]"
|
---|
55 | assert SimplePrimitiveId.multipleFromString("node/234-5").toString() == "[node 234, node 235]"
|
---|
56 | assert SimplePrimitiveId.multipleFromString("node/234-35").toString() == "[node 234, node 235]"
|
---|
57 | assert SimplePrimitiveId.multipleFromString("node/234-235").toString() == "[node 234, node 235]"
|
---|
58 | assert SimplePrimitiveId.multipleFromString("node/998-1001").toString() == "[node 998, node 999, node 1000, node 1001]"
|
---|
59 | shouldFail { SimplePrimitiveId.multipleFromString("foo node123 bar") }
|
---|
60 | }
|
---|
61 | }
|
---|