1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.text.lookup;
19
20 import static org.junit.jupiter.api.Assertions.assertEquals;
21 import static org.junit.jupiter.api.Assertions.assertFalse;
22 import static org.junit.jupiter.api.Assertions.assertNull;
23 import static org.junit.jupiter.api.Assertions.assertThrows;
24 import static org.mockito.Mockito.spy;
25 import static org.mockito.Mockito.when;
26
27 import java.io.UnsupportedEncodingException;
28 import java.nio.charset.StandardCharsets;
29
30 import org.junit.jupiter.api.Test;
31
32
33
34
35 class UrlEncoderStringLookupTest {
36
37 private static final String DATA = "Hello+World%21";
38
39 @Test
40 void test() {
41 assertEquals(DATA, UrlEncoderStringLookup.INSTANCE.apply("Hello World!"));
42 }
43
44 @Test
45 void testExceptionGettingString() throws UnsupportedEncodingException {
46 final UrlEncoderStringLookup mockLookup = spy(UrlEncoderStringLookup.class);
47 when(mockLookup.encode(DATA, StandardCharsets.UTF_8.displayName()))
48 .thenThrow(UnsupportedEncodingException.class);
49 assertThrows(IllegalArgumentException.class, () -> mockLookup.apply(DATA));
50 }
51
52 @Test
53 void testNull() {
54 assertNull(UrlEncoderStringLookup.INSTANCE.apply(null));
55 }
56
57 @Test
58 void testToString() {
59
60 assertFalse(UrlEncoderStringLookup.INSTANCE.toString().isEmpty());
61 }
62
63 }