source: josm/trunk/test/unit/org/openstreetmap/josm/data/preferences/StrokePropertyTest.java

Last change on this file was 18690, checked in by taylor.smock, 13 months ago

See #16567: Convert all assertion calls to JUnit 5 (patch by gaben, modified)

The modifications are as follows:

  • Merge DomainValidatorTest.testIDN and DomainValidatorTest.testIDNJava6OrLater
  • Update some tests to use @ParameterizedTest (DomainValidatorTest)
  • Replace various exception blocks with assertThrows. These typically looked like
        try {
            // Something that should throw an exception here
            fail("An exception should have been thrown");
        } catch (Exception e) {
            // Verify the exception matches expectations here
        }
    
  • Replace assertTrue(val instanceof Clazz) with assertInstanceOf
  • Replace JUnit 4 @Suite with JUnit 5 @Suite

Both the original patch and the modified patch fix various lint issues.

  • Property svn:eol-style set to native
File size: 3.2 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.data.preferences;
3
4import static org.junit.jupiter.api.Assertions.assertArrayEquals;
5import static org.junit.jupiter.api.Assertions.assertEquals;
6import static org.junit.jupiter.api.Assertions.assertNull;
7
8import java.awt.BasicStroke;
9
10import org.junit.jupiter.api.Test;
11import org.openstreetmap.josm.spi.preferences.Config;
12import org.openstreetmap.josm.testutils.annotations.BasicPreferences;
13
14/**
15 * Test {@link StrokeProperty}
16 * @author Michael Zangl
17 */
18// This is a preference test
19@BasicPreferences
20class StrokePropertyTest {
21 /**
22 * Test {@link StrokeProperty#get()}
23 */
24 @Test
25 void testGetValue() {
26 StrokeProperty property = new StrokeProperty("x", "1");
27
28 Config.getPref().put("x", "11");
29 BasicStroke bs = property.get();
30 assertWide(bs);
31 assertEquals(11, bs.getLineWidth(), 1e-10);
32 assertNull(bs.getDashArray());
33
34 Config.getPref().put("x", ".5");
35 bs = property.get();
36 assertThin(bs);
37 assertEquals(.5, bs.getLineWidth(), 1e-10);
38 assertNull(bs.getDashArray());
39
40 Config.getPref().put("x", "2 1");
41 bs = property.get();
42 assertWide(bs);
43 assertEquals(2, bs.getLineWidth(), 1e-10);
44 assertArrayEquals(new float[] {1}, bs.getDashArray(), 1e-10f);
45
46 Config.getPref().put("x", "2 0.1 1 10");
47 bs = property.get();
48 assertWide(bs);
49 assertEquals(2, bs.getLineWidth(), 1e-10);
50 assertArrayEquals(new float[] {0.1f, 1, 10}, bs.getDashArray(), 1e-10f);
51
52 Config.getPref().put("x", "x");
53 bs = property.get();
54 assertThin(bs);
55 assertEquals(1, bs.getLineWidth(), 1e-10);
56 assertNull(bs.getDashArray());
57
58 // ignore dashes
59 Config.getPref().put("x", "11 0 0 0.0001");
60 bs = property.get();
61 assertWide(bs);
62 assertEquals(11, bs.getLineWidth(), 1e-10);
63 assertNull(bs.getDashArray());
64 }
65
66 /**
67 * Test {@link StrokeProperty#put(BasicStroke)}
68 */
69 @Test
70 void testPutValue() {
71 StrokeProperty property = new StrokeProperty("x", new BasicStroke(12));
72 BasicStroke bs = property.get();
73
74 assertWide(bs);
75 assertEquals(12, bs.getLineWidth(), 1e-10);
76 assertNull(bs.getDashArray());
77
78 property.put(new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1, new float[] {0.1f, 1, 10}, 0));
79 bs = property.get();
80 assertWide(bs);
81 assertEquals(2, bs.getLineWidth(), 1e-10);
82 assertArrayEquals(new float[] {0.1f, 1, 10}, bs.getDashArray(), 1e-10f);
83 }
84
85 private static void assertThin(BasicStroke bs) {
86 assertBase(bs);
87 assertEquals(BasicStroke.CAP_BUTT, bs.getEndCap());
88 assertEquals(BasicStroke.JOIN_MITER, bs.getLineJoin());
89 }
90
91 private static void assertWide(BasicStroke bs) {
92 assertBase(bs);
93 assertEquals(BasicStroke.CAP_ROUND, bs.getEndCap());
94 assertEquals(BasicStroke.JOIN_ROUND, bs.getLineJoin());
95 }
96
97 private static void assertBase(BasicStroke bs) {
98 assertEquals(10, bs.getMiterLimit(), 1e-10);
99 assertEquals(0, bs.getDashPhase(), 1e-10);
100 }
101}
Note: See TracBrowser for help on using the repository browser.