From e3e4c769b0fdcea673311ff2a66db0bad9e97e76 Mon Sep 17 00:00:00 2001 From: Weihan Li Date: Mon, 22 Jul 2024 15:31:37 +0000 Subject: [PATCH] test: add test case --- .../tests/Common/PropertyVisibilityTests.cs | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/libraries/System.Text.Json/tests/Common/PropertyVisibilityTests.cs b/src/libraries/System.Text.Json/tests/Common/PropertyVisibilityTests.cs index 010b6a580ed20d..f4eca0041083c3 100644 --- a/src/libraries/System.Text.Json/tests/Common/PropertyVisibilityTests.cs +++ b/src/libraries/System.Text.Json/tests/Common/PropertyVisibilityTests.cs @@ -2035,6 +2035,31 @@ public async Task JsonIgnoreCondition_LastOneWins() Assert.Null(obj.MyString); } + [Fact] + public void JsonIgnoreCondition_WhenWriting() + { + var json = JsonSerializer.Serialize(new JsonIgnoreCondition_WhenReadingWritingTestModel{ Age = 10, Name="Mike" }); + Assert.Equal("""{"Age":10}""", json); + } + + [Fact] + public void JsonIgnoreCondition_WhenReading() + { + var json = """{"Age":10, "Name":"Mike"}"""; + var model = JsonSerializer.Deserialize(json); + Assert.Equal("Mike", model.Name); + Assert.Equal(0, model.Age); + } + + public class JsonIgnoreCondition_WhenReadingWritingTestModel + { + [JsonIgnore(Condition = JsonIgnoreCondition.WhenReading)] + public int Age { get; set; } + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWriting)] + public string Name { get; set; } + } + + [Fact] public async Task ClassWithComplexObjectsUsingIgnoreWhenWritingDefaultAttribute() {