diff --git a/main/tests/server/src/com/google/refine/tests/model/CellTests.java b/main/tests/server/src/com/google/refine/tests/model/CellTests.java index d8cf868cb..94391d1bb 100644 --- a/main/tests/server/src/com/google/refine/tests/model/CellTests.java +++ b/main/tests/server/src/com/google/refine/tests/model/CellTests.java @@ -26,6 +26,10 @@ ******************************************************************************/ package com.google.refine.tests.model; +import java.time.format.DateTimeFormatter; +import java.time.LocalDateTime; +import java.time.OffsetDateTime; + import static org.junit.Assert.assertNull; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -109,4 +113,52 @@ public class CellTests { Cell c = Cell.loadStreaming(json, pool); TestUtils.isSerializedTo(c, json); } + + @Test + public void serializeDatewithOffset() throws Exception { + OffsetDateTime dateTimeValue = OffsetDateTime.parse("2017-05-12T05:45:00+01:00", DateTimeFormatter.ISO_OFFSET_DATE_TIME); + Cell c = new Cell(dateTimeValue, null); + String json = "{\"v\":\"2017-05-12T04:45:00Z\",\"t\":\"date\"}"; + TestUtils.isSerializedTo(c, json); + } + + @Test + public void serializeLocalDate() throws Exception { + LocalDateTime dateTimeValue = LocalDateTime.of(2017,5,12,0,0,0); + Cell c = new Cell(dateTimeValue, null); + String json = "{\"v\":\"2017-05-12T00:00:00Z\",\"t\":\"date\"}"; + TestUtils.isSerializedTo(c, json); + } + + @Test + public void serializeDoubleNan() throws Exception { + double dn = Double.NaN; + Cell c = new Cell(dn, null); + String json = "{\"v\":\"NaN\"}"; + TestUtils.isSerializedTo(c, json); + } + + @Test + public void serializeFloatNan() throws Exception { + Float fn = Float.NaN; + Cell c = new Cell(fn, null); + String json = "{\"v\":\"NaN\"}"; + TestUtils.isSerializedTo(c, json); + } + + @Test + public void serializeDoubleInfinity() throws Exception { + double di = Double.POSITIVE_INFINITY; + Cell c = new Cell(di, null); + String json = "{\"v\":\"Infinity\"}"; + TestUtils.isSerializedTo(c, json); + } + + @Test + public void serializeFloatInfinity() throws Exception { + Float fi = Float.POSITIVE_INFINITY; + Cell c = new Cell(fi, null); + String json = "{\"v\":\"Infinity\"}"; + TestUtils.isSerializedTo(c, json); + } }