Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit 31f9095

Browse files
committed
Add nullable DateTime test
1 parent 1a35fe3 commit 31f9095

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

tests/ServiceStack.Text.Tests/Utils/DateTimeSerializerTests.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,12 @@ public void Test_MS_Dates(int whichDate)
297297
}
298298
}
299299

300+
public class DateModel
301+
{
302+
public DateTime DateTime { get; set; }
303+
public DateTime? NullableDateTime { get; set; }
304+
}
305+
300306
[TestFixture]
301307
public class DateTimeISO8601Tests
302308
: TestBase
@@ -347,6 +353,21 @@ public void DateTime_Is_Serialized_As_Utc_and_Deserialized_as_local()
347353
Assert.AreEqual(DateTimeKind.Utc, TypeSerializer.DeserializeFromString<TestObject>(TypeSerializer.SerializeToString<TestObject>(testObject)).Date.Kind);
348354
}
349355
}
356+
357+
[Test]
358+
public void Can_serialize_nullable_DateTime()
359+
{
360+
JsConfig.IncludeNullValues = true;
361+
JsConfig.AssumeUtc = true;
362+
363+
var date = new DateTime(2013, 1, 1, 0, 0, 1, DateTimeKind.Utc);
364+
var dto = new DateModel { DateTime = date, NullableDateTime = date };
365+
dto.ToJson().Print();
366+
367+
Assert.That(dto.ToJson(), Is.EqualTo("{\"DateTime\":\"2013-01-01T00:00:01.0000000Z\",\"NullableDateTime\":\"2013-01-01T00:00:01.0000000Z\"}"));
368+
369+
JsConfig.Reset();
370+
}
350371
}
351372

352373
[TestFixture]

0 commit comments

Comments
 (0)