source: josm/trunk/test/unit/org/openstreetmap/josm/data/osm/SimplePrimitiveIdTest.java@ 11241

Last change on this file since 11241 was 11104, checked in by Don-vip, 8 years ago

convert unit tests from Groovy to Java

  • Property svn:eol-style set to native
File size: 5.5 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.data.osm;
3
4import static org.junit.Assert.assertEquals;
5
6import org.junit.Test;
7
8/**
9 * Unit tests of {@link SimplePrimitiveId} class.
10 */
11public class SimplePrimitiveIdTest {
12
13 /**
14 * Unit test of {@link SimplePrimitiveId#fromString} for nodes.
15 */
16 @Test
17 public void testFromStringNode() {
18 assertEquals(new SimplePrimitiveId(123, OsmPrimitiveType.NODE), SimplePrimitiveId.fromString("node/123"));
19 assertEquals(new SimplePrimitiveId(123, OsmPrimitiveType.NODE), SimplePrimitiveId.fromString("n123"));
20 assertEquals(new SimplePrimitiveId(123, OsmPrimitiveType.NODE), SimplePrimitiveId.fromString("node123"));
21 assertEquals(new SimplePrimitiveId(123456789123456789L, OsmPrimitiveType.NODE), SimplePrimitiveId.fromString("n123456789123456789"));
22 }
23
24 /**
25 * Unit test of {@link SimplePrimitiveId#fromString} for ways.
26 */
27 @Test
28 public void testFromStringWay() {
29 assertEquals(new SimplePrimitiveId(123, OsmPrimitiveType.WAY), SimplePrimitiveId.fromString("way/123"));
30 assertEquals(new SimplePrimitiveId(123, OsmPrimitiveType.WAY), SimplePrimitiveId.fromString("w123"));
31 assertEquals(new SimplePrimitiveId(123, OsmPrimitiveType.WAY), SimplePrimitiveId.fromString("way123"));
32 assertEquals(new SimplePrimitiveId(123456789123456789L, OsmPrimitiveType.WAY), SimplePrimitiveId.fromString("w123456789123456789"));
33 }
34
35 /**
36 * Unit test of {@link SimplePrimitiveId#fromString} for relations.
37 */
38 @Test
39 public void testFromStringRelation() {
40 assertEquals(new SimplePrimitiveId(123, OsmPrimitiveType.RELATION), SimplePrimitiveId.fromString("relation/123"));
41 assertEquals(new SimplePrimitiveId(123, OsmPrimitiveType.RELATION), SimplePrimitiveId.fromString("r123"));
42 assertEquals(new SimplePrimitiveId(123, OsmPrimitiveType.RELATION), SimplePrimitiveId.fromString("rel123"));
43 assertEquals(new SimplePrimitiveId(123, OsmPrimitiveType.RELATION), SimplePrimitiveId.fromString("relation123"));
44 }
45
46 /**
47 * Unit test of {@link SimplePrimitiveId#fromString} for invalid input.
48 */
49 @Test(expected = IllegalArgumentException.class)
50 public void testFromStringBad() {
51 SimplePrimitiveId.fromString("foobar");
52 }
53
54 /**
55 * Unit test of {@link SimplePrimitiveId#fuzzyParse}.
56 */
57 @Test
58 public void testFuzzyParse() {
59 assertEquals("[relation 123]",
60 SimplePrimitiveId.fuzzyParse("foo relation/123 bar").toString());
61 assertEquals("[relation 123, way 345, node 789]",
62 SimplePrimitiveId.fuzzyParse("foo relation/123 and way/345 but also node/789").toString());
63 assertEquals("[relation 123, relation 124, way 345, way 346, node 789]",
64 SimplePrimitiveId.fuzzyParse("foo relation/123-24 and way/345-346 but also node/789").toString());
65 }
66
67 @Test
68 public void testFromCopyAction() {
69 assertEquals(new SimplePrimitiveId(123, OsmPrimitiveType.NODE), SimplePrimitiveId.fromString("node 123"));
70 assertEquals(new SimplePrimitiveId(123, OsmPrimitiveType.WAY), SimplePrimitiveId.fromString("way 123"));
71 assertEquals(new SimplePrimitiveId(123, OsmPrimitiveType.RELATION), SimplePrimitiveId.fromString("relation 123"));
72 }
73
74 /**
75 * Unit test of {@link SimplePrimitiveId#multipleFromString}.
76 */
77 @Test
78 public void testMultipleFromString() {
79 assertEquals("[node 234]", SimplePrimitiveId.multipleFromString("node/234").toString());
80 assertEquals("[node 234]", SimplePrimitiveId.multipleFromString("node/234-234").toString());
81 assertEquals("[]", SimplePrimitiveId.multipleFromString("node/2-1").toString());
82 assertEquals("[node 123, node 124]", SimplePrimitiveId.multipleFromString("node/123-124").toString());
83 assertEquals("[node 123, node 124]", SimplePrimitiveId.multipleFromString("n/123-124").toString());
84 assertEquals("[node 123, node 124, node 125, node 126]", SimplePrimitiveId.multipleFromString("node123-126").toString());
85 assertEquals("[way 123]", SimplePrimitiveId.multipleFromString("way/123-123").toString());
86 assertEquals("[way 123, way 124, way 125, way 126, way 127]", SimplePrimitiveId.multipleFromString("w/123-127").toString());
87 assertEquals("[way 123, way 124, way 125]", SimplePrimitiveId.multipleFromString("way123-125").toString());
88 assertEquals("[relation 123, relation 124, relation 125]", SimplePrimitiveId.multipleFromString("relation/123-125").toString());
89 assertEquals("[relation 123, relation 124, relation 125]", SimplePrimitiveId.multipleFromString("r/123-125").toString());
90 assertEquals("[relation 123, relation 124, relation 125]", SimplePrimitiveId.multipleFromString("relation123-125").toString());
91 assertEquals("[node 234, node 235]", SimplePrimitiveId.multipleFromString("node/234-5").toString());
92 assertEquals("[node 234, node 235]", SimplePrimitiveId.multipleFromString("node/234-35").toString());
93 assertEquals("[node 234, node 235]", SimplePrimitiveId.multipleFromString("node/234-235").toString());
94 assertEquals("[node 998, node 999, node 1000, node 1001]", SimplePrimitiveId.multipleFromString("node/998-1001").toString());
95 }
96
97 /**
98 * Unit test of {@link SimplePrimitiveId#multipleFromString} for invalid data.
99 */
100 @Test(expected = IllegalArgumentException.class)
101 public void testMultipleFromStringBad() {
102 SimplePrimitiveId.multipleFromString("foo node123 bar");
103 }
104}
Note: See TracBrowser for help on using the repository browser.