Skip to content

Commit 087ca5c

Browse files
author
Eugen
committed
Merge pull request eugenp#107 from Doha2012/master
Modify jackson date test
2 parents f5eb81e + 4efd8ef commit 087ca5c

File tree

2 files changed

+40
-1
lines changed

2 files changed

+40
-1
lines changed

jackson/pom.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,18 @@
4444
<artifactId>jackson-databind</artifactId>
4545
<version>${jackson.version}</version>
4646
</dependency>
47+
48+
<dependency>
49+
<groupId>com.fasterxml.jackson.datatype</groupId>
50+
<artifactId>jackson-datatype-jsr310</artifactId>
51+
<version>2.4.0</version>
52+
</dependency>
53+
54+
<dependency>
55+
<groupId>com.fasterxml.jackson.datatype</groupId>
56+
<artifactId>jackson-datatype-joda</artifactId>
57+
<version>2.4.0</version>
58+
</dependency>
4759

4860
<dependency>
4961
<groupId>joda-time</groupId>

jackson/src/test/java/org/baeldung/jackson/test/JacksonDateTest.java

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,14 @@
1717
import org.baeldung.jackson.date.EventWithLocalDateTime;
1818
import org.baeldung.jackson.date.EventWithSerializer;
1919
import org.joda.time.DateTime;
20+
import org.joda.time.DateTimeZone;
2021
import org.junit.Test;
2122

2223
import com.fasterxml.jackson.core.JsonProcessingException;
2324
import com.fasterxml.jackson.databind.ObjectMapper;
2425
import com.fasterxml.jackson.databind.SerializationFeature;
26+
import com.fasterxml.jackson.datatype.joda.JodaModule;
27+
import com.fasterxml.jackson.datatype.jsr310.JSR310Module;
2528

2629
public class JacksonDateTest {
2730

@@ -140,4 +143,28 @@ public void whenDeserializeDateUsingCustomDeserializer_thenCorrect() throws Json
140143
assertEquals("20-12-2014 02:30:00", df.format(event.eventDate));
141144
}
142145

143-
}
146+
@Test
147+
public void whenSerializeJava8Date_thenCorrect() throws JsonProcessingException {
148+
final LocalDateTime date = LocalDateTime.of(2014, 12, 20, 2, 30);
149+
150+
final ObjectMapper mapper = new ObjectMapper();
151+
mapper.registerModule(new JSR310Module());
152+
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
153+
154+
final String result = mapper.writeValueAsString(date);
155+
assertThat(result, containsString("2014-12-20T02:30"));
156+
}
157+
158+
@Test
159+
public void whenSerializeJodaTime_thenCorrect() throws JsonProcessingException {
160+
final DateTime date = new DateTime(2014, 12, 20, 2, 30, DateTimeZone.forID("Europe/London"));
161+
162+
final ObjectMapper mapper = new ObjectMapper();
163+
mapper.registerModule(new JodaModule());
164+
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
165+
166+
final String result = mapper.writeValueAsString(date);
167+
assertThat(result, containsString("2014-12-20T02:30:00.000Z"));
168+
}
169+
170+
}

0 commit comments

Comments
 (0)