source: josm/trunk/test/unit/org/openstreetmap/josm/gui/history/HistoryLoadTaskTest.java@ 11647

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

improve unit tests

  • Property svn:eol-style set to native
File size: 3.0 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.history;
3
4import static org.junit.Assert.assertEquals;
5
6import java.io.IOException;
7import java.io.InputStream;
8
9import org.junit.Rule;
10import org.junit.Test;
11import org.openstreetmap.josm.TestUtils;
12import org.openstreetmap.josm.data.osm.Node;
13import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
14import org.openstreetmap.josm.data.osm.Relation;
15import org.openstreetmap.josm.data.osm.SimplePrimitiveId;
16import org.openstreetmap.josm.data.osm.Way;
17import org.openstreetmap.josm.data.osm.history.History;
18import org.openstreetmap.josm.data.osm.history.HistoryDataSet;
19import org.openstreetmap.josm.gui.progress.NullProgressMonitor;
20import org.openstreetmap.josm.gui.progress.ProgressMonitor;
21import org.openstreetmap.josm.io.OsmHistoryReader;
22import org.openstreetmap.josm.io.OsmServerHistoryReader;
23import org.openstreetmap.josm.io.OsmTransferException;
24import org.openstreetmap.josm.testutils.JOSMTestRules;
25import org.xml.sax.SAXException;
26
27import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
28
29/**
30 * Unit tests of {@link HistoryLoadTask} class.
31 */
32public class HistoryLoadTaskTest {
33
34 /**
35 * Setup test.
36 */
37 @Rule
38 @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
39 public JOSMTestRules test = new JOSMTestRules().preferences().devAPI();
40
41 /**
42 * Unit test of {@link HistoryLoadTask#getLoadingMessage}
43 */
44 @Test
45 public void testGetLoadingMessage() {
46 assertEquals("Loading history for node {0}", HistoryLoadTask.getLoadingMessage(new Node().getPrimitiveId()));
47 assertEquals("Loading history for way {0}", HistoryLoadTask.getLoadingMessage(new Way().getPrimitiveId()));
48 assertEquals("Loading history for relation {0}", HistoryLoadTask.getLoadingMessage(new Relation().getPrimitiveId()));
49
50 assertEquals("", HistoryLoadTask.getLoadingMessage(new SimplePrimitiveId(1, OsmPrimitiveType.CLOSEDWAY)));
51 assertEquals("", HistoryLoadTask.getLoadingMessage(new SimplePrimitiveId(1, OsmPrimitiveType.MULTIPOLYGON)));
52 }
53
54 /**
55 * Unit test of {@link HistoryLoadTask#loadHistory}
56 * @throws OsmTransferException if an error occurs
57 */
58 @Test
59 public void testLoadHistory() throws OsmTransferException {
60 HistoryDataSet ds = HistoryLoadTask.loadHistory(new OsmServerHistoryReader(OsmPrimitiveType.NODE, 0) {
61 @Override
62 public HistoryDataSet parseHistory(ProgressMonitor progressMonitor) throws OsmTransferException {
63 try (InputStream in = TestUtils.getRegressionDataStream(12639, "history.xml")) {
64 return new OsmHistoryReader(in).parse(NullProgressMonitor.INSTANCE);
65 } catch (IOException | SAXException e) {
66 throw new OsmTransferException(e);
67 }
68 }
69 }, NullProgressMonitor.INSTANCE);
70 assertEquals(113, ds.getChangesetIds().size());
71 History h = ds.getHistory(1350901, OsmPrimitiveType.RELATION);
72 assertEquals(115, h.getNumVersions());
73 }
74}
Note: See TracBrowser for help on using the repository browser.