source: josm/trunk/test/unit/org/openstreetmap/josm/gui/dialogs/relation/sort/RelationSorterTest.java@ 8510

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

checkstyle: enable relevant whitespace checks and fix them

  • Property svn:eol-style set to native
File size: 2.6 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.dialogs.relation.sort;
3
4import java.io.FileInputStream;
5import java.io.IOException;
6import java.io.InputStream;
7import java.util.List;
8
9import org.junit.Assert;
10import org.junit.BeforeClass;
11import org.junit.Test;
12import org.openstreetmap.josm.Main;
13import org.openstreetmap.josm.data.osm.DataSet;
14import org.openstreetmap.josm.data.osm.Relation;
15import org.openstreetmap.josm.data.osm.RelationMember;
16import org.openstreetmap.josm.data.projection.Projections;
17import org.openstreetmap.josm.gui.progress.NullProgressMonitor;
18import org.openstreetmap.josm.io.IllegalDataException;
19import org.openstreetmap.josm.io.OsmReader;
20
21public class RelationSorterTest {
22
23 private RelationSorter sorter = new RelationSorter();
24 private static DataSet testDataset;
25
26 @BeforeClass
27 public static void loadData() throws IllegalDataException, IOException {
28 Main.initApplicationPreferences();
29 Main.setProjection(Projections.getProjectionByCode("EPSG:3857")); // Mercator
30 try (InputStream fis = new FileInputStream("data_nodist/relation_sort.osm")) {
31 testDataset = OsmReader.parseDataSet(fis, NullProgressMonitor.INSTANCE);
32 }
33 }
34
35 private Relation getRelation(String testType) {
36 for (Relation r: testDataset.getRelations()) {
37 if (testType.equals(r.get("test")))
38 return r;
39 }
40 return null;
41 }
42
43 private String[] getNames(List<RelationMember> members) {
44 String[] result = new String[members.size()];
45 for (int i = 0; i < result.length; i++) {
46 result[i] = members.get(i).getMember().get("name");
47 }
48 return result;
49 }
50
51 @Test
52 public void testGeneric() {
53 String[] actual = getNames(sorter.sortMembers(getRelation("generic").getMembers()));
54 final String[] expected = {"t1w4", "t1w3", "t1w2", "t1w1", "t1w7", "t1w6", "t1w5", "t1n1", "t1n2"};
55 // expect nodes to be sorted correctly
56 Assert.assertEquals(expected[7], actual[7]);
57 Assert.assertEquals(expected[8], actual[8]);
58 }
59
60 @Test
61 public void testAssociatedStreet() {
62 String[] actual = getNames(sorter.sortMembers(getRelation("associatedStreet").getMembers()));
63 Assert.assertArrayEquals(new String[] {"t2w1", "t2w2", "t2n1", "t2n2", "t2n3", "t2n4"}, actual);
64 }
65
66 @Test
67 public void testStreet() {
68 String[] actual = getNames(sorter.sortMembers(getRelation("street").getMembers()));
69 Assert.assertArrayEquals(new String[]{"t2w1", "t2w2", "t2n1", "t2n2", "t2n3", "t2n4", "playground", "tree"}, actual);
70 }
71
72}
Note: See TracBrowser for help on using the repository browser.