Ejemplo n.º 1
0
        public void Write()
        {
            // Arrange
            var value = new StrongGrid.Models.Legacy.Field[]
            {
                new StrongGrid.Models.Legacy.Field <string>()
                {
                    Id = 1, Name = "field1", Value = "111111"
                },
                new StrongGrid.Models.Legacy.Field <long>()
                {
                    Id = 2, Name = "field2", Value = 222222
                },
                new StrongGrid.Models.Legacy.Field <long?>()
                {
                    Id = 3, Name = "field3", Value = null
                },
                new StrongGrid.Models.Legacy.Field <DateTime>()
                {
                    Id = 4, Name = "field4", Value = new DateTime(2017, 3, 28, 13, 55, 0)
                },
                new StrongGrid.Models.Legacy.Field <DateTime?>()
                {
                    Id = 5, Name = "field5", Value = null
                }
            };

            var ms         = new MemoryStream();
            var jsonWriter = new Utf8JsonWriter(ms);
            var options    = new JsonSerializerOptions();

            var converter = new LegacyCustomFieldsConverter();

            // Act
            converter.Write(jsonWriter, value, options);
            jsonWriter.Flush();

            ms.Position = 0;
            var sr     = new StreamReader(ms);
            var result = sr.ReadToEnd();

            // 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\"}]");
        }
        public void Write()
        {
            // Arrange
            var sb     = new StringBuilder();
            var sw     = new StringWriter(sb);
            var writer = new JsonTextWriter(sw);

            var value = new StrongGrid.Models.Legacy.Field[]
            {
                new StrongGrid.Models.Legacy.Field <string>()
                {
                    Id = 1, Name = "field1", Value = "111111"
                },
                new StrongGrid.Models.Legacy.Field <long>()
                {
                    Id = 2, Name = "field2", Value = 222222
                },
                new StrongGrid.Models.Legacy.Field <long?>()
                {
                    Id = 3, Name = "field3", Value = null
                },
                new StrongGrid.Models.Legacy.Field <DateTime>()
                {
                    Id = 4, Name = "field4", Value = new DateTime(2017, 3, 28, 13, 55, 0)
                },
                new StrongGrid.Models.Legacy.Field <DateTime?>()
                {
                    Id = 5, Name = "field5", Value = null
                }
            };
            var serializer = new JsonSerializer();

            var converter = new LegacyCustomFieldsConverter();

            // 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\"}]");
        }