1 package org.oxerr.commons.ws.rs.provider;
2
3 import static org.junit.jupiter.api.Assertions.assertEquals;
4 import static org.junit.jupiter.api.Assertions.assertNull;
5 import static org.junit.jupiter.api.Assertions.assertThrows;
6
7 import javax.ws.rs.ext.ParamConverter;
8
9 import org.junit.jupiter.api.Test;
10
11 class CharacterProviderTest {
12
13 private final CharacterProvider characterProvider = new CharacterProvider();
14
15 @Test
16 void testUnsupportedRawType() {
17
18 assertNull(this.characterProvider.getConverter(String.class, null, null));
19 }
20
21 @Test
22 void testFromString() {
23 ParamConverter<Character> c = this.characterProvider.getConverter(Character.class, null, null);
24
25
26 assertThrows(IllegalArgumentException.class, () -> c.fromString(null));
27
28
29 assertNull(c.fromString(""));
30
31
32 assertEquals(Character.valueOf('a'), c.fromString("a"));
33
34
35 assertEquals(Character.valueOf('a'), c.fromString("ab"));
36
37 }
38
39 @Test
40 void testToString() {
41 ParamConverter<Character> c = this.characterProvider.getConverter(Character.class, null, null);
42
43
44 assertThrows(IllegalArgumentException.class, () -> c.toString(null));
45
46
47 assertEquals("a", c.toString('a'));
48
49
50 assertEquals("a", c.toString(Character.valueOf('a')));
51 }
52
53 }