source: josm/trunk/test/unit/org/openstreetmap/josm/gui/layer/geoimage/OffsetTest.java@ 11914

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

sonar - squid:S2972 - Inner classes should not have too many lines of code

  • Property svn:eol-style set to native
File size: 3.3 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.layer.geoimage;
3
4import static org.junit.Assert.assertEquals;
5
6import java.text.ParseException;
7import java.util.TimeZone;
8
9import org.junit.BeforeClass;
10import org.junit.Rule;
11import org.junit.Test;
12import org.openstreetmap.josm.testutils.JOSMTestRules;
13import org.openstreetmap.josm.tools.date.DateUtilsTest;
14
15import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
16
17/**
18 * Unit tests of {@link Offset} class.
19 */
20public class OffsetTest {
21
22 /**
23 * Setup test.
24 */
25 @Rule
26 @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
27 public JOSMTestRules test = new JOSMTestRules();
28
29 /**
30 * Setup test.
31 */
32 @BeforeClass
33 public static void setUp() {
34 DateUtilsTest.setTimeZone(TimeZone.getTimeZone("UTC"));
35 }
36
37 /**
38 * Unit test of {@link Offset#formatOffset}.
39 */
40 @Test
41 public void testFormatOffset() {
42 assertEquals("0", Offset.seconds(0).formatOffset());
43 assertEquals("123", Offset.seconds(123).formatOffset());
44 assertEquals("-4242", Offset.seconds(-4242).formatOffset());
45 assertEquals("0.1", Offset.milliseconds(100).formatOffset());
46 assertEquals("0.120", Offset.milliseconds(120).formatOffset());
47 assertEquals("0.123", Offset.milliseconds(123).formatOffset());
48 assertEquals("1.2", Offset.milliseconds(1200).formatOffset());
49 assertEquals("1.234", Offset.milliseconds(1234).formatOffset());
50 }
51
52 /**
53 * Unit test of {@link Offset#parseOffset}.
54 * @throws ParseException in case of parsing error
55 */
56 @Test
57 public void testParseOffest() throws ParseException {
58 assertEquals(0, Offset.parseOffset("0").getSeconds());
59 assertEquals(4242L, Offset.parseOffset("4242").getSeconds());
60 assertEquals(-4242L, Offset.parseOffset("-4242").getSeconds());
61 assertEquals(0L, Offset.parseOffset("-0").getSeconds());
62 assertEquals(100L, Offset.parseOffset("0.1").getMilliseconds());
63 assertEquals(123L, Offset.parseOffset("0.123").getMilliseconds());
64 assertEquals(-42420L, Offset.parseOffset("-42.42").getMilliseconds());
65 }
66
67 /**
68 * Unit test of {@link Offset#splitOutTimezone}.
69 */
70 @Test
71 public void testSplitOutTimezone() {
72 assertEquals("+1:00", Offset.seconds(3602).splitOutTimezone().a.formatTimezone());
73 assertEquals("2", Offset.seconds(3602).splitOutTimezone().b.formatOffset());
74 assertEquals("-7:00", Offset.seconds(-7 * 3600 + 123).splitOutTimezone().a.formatTimezone());
75 assertEquals("123", Offset.seconds(-7 * 3600 + 123).splitOutTimezone().b.formatOffset());
76 assertEquals(1, Offset.seconds(35 * 3600 + 421).getDayOffset());
77 assertEquals(11 * 3600 + 421, Offset.seconds(35 * 3600 + 421).withoutDayOffset().getSeconds());
78 assertEquals("+11:00", Offset.seconds(35 * 3600 + 421).splitOutTimezone().a.formatTimezone());
79 assertEquals(86400 + 421, Offset.seconds(35 * 3600 + 421).splitOutTimezone().b.getSeconds());
80 assertEquals(421, Offset.seconds(35 * 3600 + 421).withoutDayOffset().splitOutTimezone().b.getSeconds());
81 assertEquals("+1:00", Offset.milliseconds(3602987).splitOutTimezone().a.formatTimezone());
82 assertEquals("2.987", Offset.milliseconds(3602987).splitOutTimezone().b.formatOffset());
83 }
84}
Note: See TracBrowser for help on using the repository browser.