View Javadoc
1   package org.oxerr.commons.ws.rs.provider;
2   
3   import static org.junit.jupiter.api.Assertions.*;
4   
5   import java.time.OffsetDateTime;
6   import java.time.ZoneOffset;
7   import java.util.SimpleTimeZone;
8   import java.util.TimeZone;
9   
10  import javax.ws.rs.ext.ParamConverter;
11  
12  import org.apache.cxf.jaxrs.provider.JavaTimeTypesParamConverterProvider;
13  import org.junit.jupiter.api.AfterAll;
14  import org.junit.jupiter.api.AfterEach;
15  import org.junit.jupiter.api.BeforeAll;
16  import org.junit.jupiter.api.BeforeEach;
17  import org.junit.jupiter.api.Test;
18  
19  class OffsetDateTimeProviderTest {
20  
21  	@BeforeAll
22  	static void setUpBeforeClass() throws Exception {
23  	}
24  
25  	@AfterAll
26  	static void tearDownAfterClass() throws Exception {
27  	}
28  
29  	@BeforeEach
30  	void setUp() throws Exception {
31  	}
32  
33  	@AfterEach
34  	void tearDown() throws Exception {
35  	}
36  
37  	@Test
38  	void testUnsupportedRawType() {
39  		OffsetDateTimeProvider offsetDateTimeProvider = new OffsetDateTimeProvider();
40  		assertNull(offsetDateTimeProvider.getConverter(String.class, null, null));
41  	}
42  
43  	@Test
44  	void testFromString() {
45  		OffsetDateTimeProvider offsetDateTimeProvider = new OffsetDateTimeProvider(ZoneOffset.UTC);
46  		ParamConverter<OffsetDateTime> c = offsetDateTimeProvider.getConverter(OffsetDateTime.class, null, null);
47  
48  		assertEquals(OffsetDateTime.MIN, c.fromString("-999999999-01-01T00:00:00+18:00"));
49  		assertEquals(OffsetDateTime.MAX, c.fromString("+999999999-12-31T23:59:59.999999999-18:00"));
50  	}
51  
52  	@Test
53  	void testToString() {
54  		OffsetDateTimeProvider offsetDateTimeProvider = new OffsetDateTimeProvider(ZoneOffset.UTC);
55  		ParamConverter<OffsetDateTime> c = offsetDateTimeProvider.getConverter(OffsetDateTime.class, null, null);
56  
57  		assertEquals("-999999999-01-01T00:00:00+18:00", c.toString(OffsetDateTime.MIN));
58  		assertEquals("+999999999-12-31T23:59:59.999999999-18:00", c.toString(OffsetDateTime.MAX));
59  	}
60  
61  	@Test
62  	void testJavaTimeTypesParamConverterProvider() {
63  		JavaTimeTypesParamConverterProvider p = new JavaTimeTypesParamConverterProvider();
64  		ParamConverter<OffsetDateTime> c = p.getConverter(OffsetDateTime.class, null, null);
65  
66  		assertEquals(OffsetDateTime.MIN, c.fromString("-999999999-01-01T00:00+18:00"));
67  		assertEquals(OffsetDateTime.MAX, c.fromString("+999999999-12-31T23:59:59.999999999-18:00"));
68  
69  		assertEquals("-999999999-01-01T00:00:00+18:00", c.toString(OffsetDateTime.MIN));
70  		assertEquals("+999999999-12-31T23:59:59.999999999-18:00", c.toString(OffsetDateTime.MAX));
71  	}
72  
73  }