source: josm/trunk/test/unit/org/openstreetmap/josm/tools/ColorHelperTest.java@ 17360

Last change on this file since 17360 was 17275, checked in by Don-vip, 3 years ago

see #16567 - upgrade almost all tests to JUnit 5, except those depending on WiremockRule

See https://github.com/tomakehurst/wiremock/issues/684

  • Property svn:eol-style set to native
File size: 4.1 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.tools;
3
4import static org.junit.jupiter.api.Assertions.assertEquals;
5import static org.junit.jupiter.api.Assertions.assertNull;
6
7import java.awt.Color;
8
9import org.junit.jupiter.api.Test;
10
11/**
12 * Unit tests for class {@link ColorHelper}.
13 */
14class ColorHelperTest {
15
16 /**
17 * Unit test of method {@link ColorHelper#html2color}.
18 */
19 @Test
20 void testHtml2color() {
21 assertNull(ColorHelper.html2color(""));
22 assertNull(ColorHelper.html2color("xyz"));
23 assertEquals(Color.CYAN, ColorHelper.html2color("0ff"));
24 assertEquals(Color.CYAN, ColorHelper.html2color("#0ff"));
25 assertEquals(Color.CYAN, ColorHelper.html2color("00ffff"));
26 assertEquals(Color.CYAN, ColorHelper.html2color("#00ffff"));
27 assertEquals(Color.CYAN, ColorHelper.html2color("#00FFFF"));
28 assertEquals(new Color(0x12345678, true), ColorHelper.html2color("#34567812"));
29 }
30
31 /**
32 * Unit test of method {@link ColorHelper#color2html}.
33 */
34 @Test
35 void testColor2html() {
36 assertNull(ColorHelper.color2html(null));
37 assertEquals("#FF0000", ColorHelper.color2html(Color.RED));
38 assertEquals("#00FFFF", ColorHelper.color2html(Color.CYAN));
39 assertEquals("#34567812", ColorHelper.color2html(new Color(0x12345678, true)));
40 assertEquals("#34567812", ColorHelper.color2html(new Color(0x12345678, true), true));
41 assertEquals("#345678", ColorHelper.color2html(new Color(0x12345678, true), false));
42 }
43
44 /**
45 * Unit test of method {@link ColorHelper#getForegroundColor}.
46 */
47 @Test
48 void testGetForegroundColor() {
49 assertNull(ColorHelper.getForegroundColor(null));
50 assertEquals(Color.WHITE, ColorHelper.getForegroundColor(Color.BLACK));
51 assertEquals(Color.WHITE, ColorHelper.getForegroundColor(Color.DARK_GRAY));
52 assertEquals(Color.BLACK, ColorHelper.getForegroundColor(Color.LIGHT_GRAY));
53 assertEquals(Color.BLACK, ColorHelper.getForegroundColor(Color.YELLOW));
54 assertEquals(Color.BLACK, ColorHelper.getForegroundColor(Color.WHITE));
55 }
56
57 /**
58 * Test of {@link ColorHelper#float2int}
59 */
60 @Test
61 void testColorFloat2int() {
62 assertNull(ColorHelper.float2int(null));
63 assertEquals(255, (int) ColorHelper.float2int(-1.0f));
64 assertEquals(0, (int) ColorHelper.float2int(-0.0f));
65 assertEquals(0, (int) ColorHelper.float2int(0.0f));
66 assertEquals(64, (int) ColorHelper.float2int(0.25f));
67 assertEquals(128, (int) ColorHelper.float2int(0.5f));
68 assertEquals(255, (int) ColorHelper.float2int(1.0f));
69 assertEquals(255, (int) ColorHelper.float2int(2.0f));
70 }
71
72 /**
73 * Test of {@link ColorHelper#int2float}
74 */
75 @Test
76 void testColorInt2float() {
77 assertNull(ColorHelper.int2float(null));
78 assertEquals(1.0f, ColorHelper.int2float(-1), 1e-3);
79 assertEquals(0.0f, ColorHelper.int2float(0), 1e-3);
80 assertEquals(0.25f, ColorHelper.int2float(64), 1e-3);
81 assertEquals(0.502f, ColorHelper.int2float(128), 1e-3);
82 assertEquals(0.753f, ColorHelper.int2float(192), 1e-3);
83 assertEquals(1.0f, ColorHelper.int2float(255), 1e-3);
84 assertEquals(1.0f, ColorHelper.int2float(1024), 1e-3);
85 }
86
87 /**
88 * Test of {@link ColorHelper#alphaMultiply}
89 */
90 @Test
91 void testAlphaMultiply() {
92 final Color color = new Color(0x12345678, true);
93 assertEquals(new Color(0x12345678, true), ColorHelper.alphaMultiply(color, 1f));
94 assertEquals(new Color(0x24345678, true), ColorHelper.alphaMultiply(color, 2f));
95 }
96
97 /**
98 * Test of {@link ColorHelper#complement}
99 */
100 @Test
101 void testComplement() {
102 assertEquals(Color.cyan, ColorHelper.complement(Color.red));
103 assertEquals(Color.red, ColorHelper.complement(Color.cyan));
104 assertEquals(Color.magenta, ColorHelper.complement(Color.green));
105 assertEquals(Color.green, ColorHelper.complement(Color.magenta));
106 assertEquals(Color.yellow, ColorHelper.complement(Color.blue));
107 assertEquals(Color.blue, ColorHelper.complement(Color.yellow));
108 }
109}
Note: See TracBrowser for help on using the repository browser.