diff --git a/Tests/Schema.NET.Test/ValuesJsonConverterTest.cs b/Tests/Schema.NET.Test/ValuesJsonConverterTest.cs index 7880e782..eea83beb 100644 --- a/Tests/Schema.NET.Test/ValuesJsonConverterTest.cs +++ b/Tests/Schema.NET.Test/ValuesJsonConverterTest.cs @@ -15,6 +15,14 @@ public void WriteJson_Values_ZeroCountWritesNull() Assert.Equal("{}", json); } + [Fact] + public void WriteJson_ValuesNull_WritesNull() + { + var value = new Values((string?)null); + var json = SerializeObject(value); + Assert.Equal("{}", json); + } + [Fact] public void WriteJson_Values_OneCountWritesSingle() { @@ -87,6 +95,14 @@ public void WriteJson_TimeSpan_ISO8601_TimeOfDay() Assert.Equal("{\"Property\":\"12:34:56\"}", json); } + [Fact] + public void ReadJson_Values_NullValue_String() + { + var json = "{\"Property\":null}"; + var result = DeserializeObject>(json); + Assert.Null(result.Value2.First()); + } + [Fact] public void ReadJson_Values_SingleValue_String() { @@ -564,12 +580,12 @@ public void ReadJson_ImplicitExternalTypes_AllowSharedNamespace() } private static string SerializeObject(T value) - where T : struct, IValues - => SchemaSerializer.SerializeObject(new TestModel { Property = value }); + where T : struct, IValues => + SchemaSerializer.SerializeObject(new TestModel { Property = value }); private static T DeserializeObject(string json) - where T : struct, IValues - => SchemaSerializer.DeserializeObject>(json)!.Property; + where T : struct, IValues => + SchemaSerializer.DeserializeObject>(json)!.Property; private class TestModel where T : struct, IValues