public void Write() { // Arrange var sb = new StringBuilder(); var sw = new StringWriter(sb); var writer = new JsonTextWriter(sw); var value = new Field[] { new Field <string>() { Id = "a", Name = "field1", Value = "111111" }, new Field <long>() { Id = "b", Name = "field2", Value = 222222 }, new Field <DateTime>() { Id = "c", Name = "field3", Value = new DateTime(2020, 2, 7, 14, 56, 0, DateTimeKind.Utc) }, }; var serializer = new JsonSerializer(); var converter = new CustomFieldsConverter(); // Act converter.WriteJson(writer, value, serializer); var result = sb.ToString(); // Assert result.ShouldBe("{\"a\":\"111111\",\"b\":222222,\"c\":\"2020-02-07T14:56:00.0000000Z\"}"); }
public void Write() { // Arrange var sb = new StringBuilder(); var sw = new StringWriter(sb); var writer = new JsonTextWriter(sw); var value = new Field[] { new Field <string>() { Id = 1, Name = "field1", Value = "111111" }, new Field <long>() { Id = 2, Name = "field2", Value = 222222 }, new Field <long?>() { Id = 3, Name = "field3", Value = null }, new Field <DateTime>() { Id = 4, Name = "field4", Value = new DateTime(2017, 3, 28, 13, 55, 0) }, new Field <DateTime?>() { Id = 5, Name = "field5", Value = null } }; var serializer = new JsonSerializer(); var converter = new CustomFieldsConverter(); // Act converter.WriteJson(writer, value, serializer); var result = sb.ToString(); // Assert result.ShouldBe("[{\"value\":\"111111\",\"id\":1,\"name\":\"field1\"},{\"value\":222222,\"id\":2,\"name\":\"field2\"},{\"id\":3,\"name\":\"field3\"},{\"value\":\"2017-03-28T13:55:00\",\"id\":4,\"name\":\"field4\"},{\"id\":5,\"name\":\"field5\"}]"); }