source: josm/trunk/test/unit/org/openstreetmap/josm/data/osm/history/HistoryRelationTest.java@ 9203

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

add more unit tests, javadoc

File size: 3.2 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.data.osm.history;
3
4import static org.junit.Assert.assertEquals;
5import static org.junit.Assert.assertTrue;
6
7import java.util.Date;
8import java.util.HashMap;
9import java.util.Map;
10
11import org.junit.BeforeClass;
12import org.junit.Test;
13import org.openstreetmap.josm.JOSMFixture;
14import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
15import org.openstreetmap.josm.data.osm.RelationMemberData;
16import org.openstreetmap.josm.data.osm.User;
17import org.openstreetmap.josm.gui.DefaultNameFormatter;
18
19/**
20 * Unit tests for class {@link HistoryRelation}.
21 */
22public class HistoryRelationTest {
23
24 /**
25 * Setup test.
26 */
27 @BeforeClass
28 public static void init() {
29 JOSMFixture.createUnitTestFixture().init();
30 }
31
32 private static HistoryRelation create(Date d) {
33 return new HistoryRelation(
34 1, // id
35 2, // version
36 true, // visible
37 User.createOsmUser(3, "testuser"),
38 4, // changesetId
39 d // timestamp
40 );
41 }
42
43 /**
44 * Unit test for {@link HistoryRelation#HistoryRelation}.
45 */
46 @Test
47 public void testHistoryRelation() {
48 Date d = new Date();
49 HistoryRelation rel = create(d);
50
51 assertEquals(1, rel.getId());
52 assertEquals(2, rel.getVersion());
53 assertTrue(rel.isVisible());
54 assertEquals("testuser", rel.getUser().getName());
55 assertEquals(3, rel.getUser().getId());
56 assertEquals(4, rel.getChangesetId());
57 assertEquals(d, rel.getTimestamp());
58 }
59
60 /**
61 * Unit test for {@link HistoryRelation#getType}.
62 */
63 @Test
64 public void testGetType() {
65 assertEquals(OsmPrimitiveType.RELATION, create(new Date()).getType());
66 }
67
68 /**
69 * Unit test for {@link HistoryRelation#getDisplayName}.
70 */
71 @Test
72 public void testGetDisplayName() {
73 HistoryNameFormatter hnf = DefaultNameFormatter.getInstance();
74 HistoryRelation rel0 = create(new Date()); // 0 member
75 HistoryRelation rel1 = create(new Date()); // 1 member
76 HistoryRelation rel2 = create(new Date()); // 2 members
77
78 rel1.addMember(new RelationMemberData(null, OsmPrimitiveType.NODE, 1));
79 rel2.addMember(new RelationMemberData(null, OsmPrimitiveType.NODE, 1));
80 rel2.addMember(new RelationMemberData(null, OsmPrimitiveType.NODE, 2));
81
82 assertEquals("relation (1, 0 members)", rel0.getDisplayName(hnf));
83 assertEquals("relation (1, 1 member)", rel1.getDisplayName(hnf));
84 assertEquals("relation (1, 2 members)", rel2.getDisplayName(hnf));
85
86 Map<String, String> map = new HashMap<>();
87 map.put("name", "RelName");
88
89 rel0.setTags(map);
90 rel1.setTags(map);
91 rel2.setTags(map);
92
93 assertEquals("relation (\"RelName\", 0 members)", rel0.getDisplayName(hnf));
94 assertEquals("relation (\"RelName\", 1 member)", rel1.getDisplayName(hnf));
95 assertEquals("relation (\"RelName\", 2 members)", rel2.getDisplayName(hnf));
96 }
97}
Note: See TracBrowser for help on using the repository browser.