source: josm/trunk/test/unit/org/openstreetmap/josm/gui/SystemOfMeasurementTest.java@ 9544

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

fix many checkstyle violations

  • Property svn:eol-style set to native
File size: 6.5 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui;
3
4import static org.junit.Assert.assertEquals;
5
6import java.text.DecimalFormat;
7import java.text.DecimalFormatSymbols;
8import java.util.Locale;
9
10import org.junit.BeforeClass;
11import org.junit.Test;
12import org.openstreetmap.josm.JOSMFixture;
13import org.openstreetmap.josm.data.SystemOfMeasurement;
14
15/**
16 * Unit tests of {@link SystemOfMeasurement} class.
17 */
18public class SystemOfMeasurementTest {
19
20 /**
21 * Setup test.
22 */
23 @BeforeClass
24 public static void setUp() {
25 JOSMFixture.createUnitTestFixture().init();
26 }
27
28 /**
29 * Test of {@link SystemOfMeasurement#getDistText} method.
30 */
31 @Test
32 public void testGetDistText() {
33
34 assertEquals("< 0.01 m", SystemOfMeasurement.METRIC.getDistText(-1));
35 assertEquals("< 0.01 m", SystemOfMeasurement.METRIC.getDistText(-0.99));
36 assertEquals("< 0.01 m", SystemOfMeasurement.METRIC.getDistText(-0));
37 assertEquals("< 0.01 m", SystemOfMeasurement.METRIC.getDistText(0));
38
39 assertEquals("0.01 m", SystemOfMeasurement.METRIC.getDistText(0.01));
40
41 assertEquals("0.99 m", SystemOfMeasurement.METRIC.getDistText(0.99));
42 assertEquals("1.00 m", SystemOfMeasurement.METRIC.getDistText(1.0));
43 assertEquals("1.01 m", SystemOfMeasurement.METRIC.getDistText(1.01));
44
45 assertEquals("9.99 m", SystemOfMeasurement.METRIC.getDistText(9.99));
46 assertEquals("10.0 m", SystemOfMeasurement.METRIC.getDistText(10.0));
47 assertEquals("10.0 m", SystemOfMeasurement.METRIC.getDistText(10.01));
48 assertEquals("10.0 m", SystemOfMeasurement.METRIC.getDistText(10.049));
49 assertEquals("10.1 m", SystemOfMeasurement.METRIC.getDistText(10.050));
50 assertEquals("10.1 m", SystemOfMeasurement.METRIC.getDistText(10.051));
51
52 assertEquals("100.0 m", SystemOfMeasurement.METRIC.getDistText(99.99));
53 assertEquals("100.0 m", SystemOfMeasurement.METRIC.getDistText(100.0));
54 assertEquals("100.0 m", SystemOfMeasurement.METRIC.getDistText(100.01));
55
56 assertEquals("1000.0 m", SystemOfMeasurement.METRIC.getDistText(999.99)); // TODO ? 1.00 km should be better
57 assertEquals("1000.0 m", SystemOfMeasurement.METRIC.getDistText(1000.0)); // TODO ? 1.00 km should be better
58 assertEquals("1.00 km", SystemOfMeasurement.METRIC.getDistText(1000.01));
59
60 assertEquals("10.00 km", SystemOfMeasurement.METRIC.getDistText(9999.99)); // TODO ? 10.0 km should be better
61 assertEquals("10.0 km", SystemOfMeasurement.METRIC.getDistText(10000.0));
62 assertEquals("10.0 km", SystemOfMeasurement.METRIC.getDistText(10000.01));
63
64 assertEquals("100.0 km", SystemOfMeasurement.METRIC.getDistText(99999.99));
65 assertEquals("100.0 km", SystemOfMeasurement.METRIC.getDistText(100000.0));
66 assertEquals("100.0 km", SystemOfMeasurement.METRIC.getDistText(100000.01));
67 }
68
69 /**
70 * Test of {@link SystemOfMeasurement#getDistText} method with a non-English locale.
71 */
72 @Test
73 public void testGetDistTextLocalized() {
74 final DecimalFormat format = new DecimalFormat("0.000", DecimalFormatSymbols.getInstance(Locale.GERMAN));
75 assertEquals("0,001 m", SystemOfMeasurement.METRIC.getDistText(0.001, format, 1e-6));
76 assertEquals("< 0,010 m", SystemOfMeasurement.METRIC.getDistText(0.001, format, 0.01));
77 assertEquals("10,051 m", SystemOfMeasurement.METRIC.getDistText(10.0514, format, 0.01));
78 assertEquals("10,052 m", SystemOfMeasurement.METRIC.getDistText(10.0515, format, 0.01));
79 assertEquals("100,000 km", SystemOfMeasurement.METRIC.getDistText(100000.0, format, 0.01));
80 }
81
82 /**
83 * Test of {@link SystemOfMeasurement#getAreaText} method.
84 */
85 @Test
86 public void testGetAreaText() {
87 assertEquals("< 0.01 m²", SystemOfMeasurement.METRIC.getAreaText(-1));
88 assertEquals("< 0.01 m²", SystemOfMeasurement.METRIC.getAreaText(-0.99));
89 assertEquals("< 0.01 m²", SystemOfMeasurement.METRIC.getAreaText(-0));
90 assertEquals("< 0.01 m²", SystemOfMeasurement.METRIC.getAreaText(0));
91
92 assertEquals("0.01 m²", SystemOfMeasurement.METRIC.getAreaText(0.01));
93
94 assertEquals("0.99 m²", SystemOfMeasurement.METRIC.getAreaText(0.99));
95 assertEquals("1.00 m²", SystemOfMeasurement.METRIC.getAreaText(1.0));
96 assertEquals("1.01 m²", SystemOfMeasurement.METRIC.getAreaText(1.01));
97
98 assertEquals("9.99 m²", SystemOfMeasurement.METRIC.getAreaText(9.99));
99 assertEquals("10.0 m²", SystemOfMeasurement.METRIC.getAreaText(10.0));
100 assertEquals("10.0 m²", SystemOfMeasurement.METRIC.getAreaText(10.01));
101 assertEquals("10.0 m²", SystemOfMeasurement.METRIC.getAreaText(10.049));
102 assertEquals("10.1 m²", SystemOfMeasurement.METRIC.getAreaText(10.050));
103 assertEquals("10.1 m²", SystemOfMeasurement.METRIC.getAreaText(10.051));
104
105 assertEquals("100.0 m²", SystemOfMeasurement.METRIC.getAreaText(99.99));
106 assertEquals("100.0 m²", SystemOfMeasurement.METRIC.getAreaText(100.0));
107 assertEquals("100.0 m²", SystemOfMeasurement.METRIC.getAreaText(100.01));
108
109 assertEquals("1000.0 m²", SystemOfMeasurement.METRIC.getAreaText(999.99));
110 assertEquals("1000.0 m²", SystemOfMeasurement.METRIC.getAreaText(1000.0));
111 assertEquals("1000.0 m²", SystemOfMeasurement.METRIC.getAreaText(1000.01));
112
113 assertEquals("10000.0 m²", SystemOfMeasurement.METRIC.getAreaText(9999.99)); // TODO ? 1.00 ha should be better
114 assertEquals("10000.0 m²", SystemOfMeasurement.METRIC.getAreaText(10000.0)); // TODO ? 1.00 ha should be better
115 assertEquals("1.00 ha", SystemOfMeasurement.METRIC.getAreaText(10000.01));
116
117 assertEquals("10.0 ha", SystemOfMeasurement.METRIC.getAreaText(99999.99));
118 assertEquals("10.0 ha", SystemOfMeasurement.METRIC.getAreaText(100000.0));
119 assertEquals("10.0 ha", SystemOfMeasurement.METRIC.getAreaText(100000.01));
120
121 assertEquals("100.0 ha", SystemOfMeasurement.METRIC.getAreaText(999999.99)); // TODO ? 1.00 km² should be better
122 assertEquals("1.00 km²", SystemOfMeasurement.METRIC.getAreaText(1000000.0));
123 assertEquals("1.00 km²", SystemOfMeasurement.METRIC.getAreaText(1000000.01));
124
125 assertEquals("10.0 km²", SystemOfMeasurement.METRIC.getAreaText(9999999.99));
126 assertEquals("10.0 km²", SystemOfMeasurement.METRIC.getAreaText(10000000.0));
127 assertEquals("10.0 km²", SystemOfMeasurement.METRIC.getAreaText(10000000.01));
128 }
129}
Note: See TracBrowser for help on using the repository browser.