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 }