diff --git a/YamlDotNet.Test/Serialization/DeserializerTest.cs b/YamlDotNet.Test/Serialization/DeserializerTest.cs index b4612bfc..178376d0 100644 --- a/YamlDotNet.Test/Serialization/DeserializerTest.cs +++ b/YamlDotNet.Test/Serialization/DeserializerTest.cs @@ -377,7 +377,7 @@ public void SerializeStateMethodsGetCalledOnce() Assert.Equal(1, test.OnDeserializedCallCount); Assert.Equal(1, test.OnDeserializingCallCount); } - + [Fact] public void DeserializeConcurrently() { @@ -389,7 +389,7 @@ public void DeserializeConcurrently() // Failures don't occur consistently - running repeatedly increases the chances RunTest(); } - + Assert.Empty(exceptions); void RunTest() @@ -444,6 +444,27 @@ public void WithCaseInsensitivePropertyMatching_IgnoreCase() Assert.Equal("Value", test.Field); } + [Fact] + public void PrivateMembersExposeYamlMemberAttribute() + { + var yaml = "key: value"; + + var result = new DeserializerBuilder() + .IncludeNonPublicProperties() + .Build() + .Deserialize(yaml); + + Assert.Equal("value", result.PublicValue); + } + + class PrivateYamlMemberTest + { + [YamlMember(Alias = "key")] + private string YamlValue { get; set; } = null!; + + public string PublicValue => YamlValue; + } + #if NET8_0_OR_GREATER [Fact] public void WithRequiredMemberSet_ThrowsWhenFieldNotSet()