Describe IncludePublicFields as a fallback and write a shadowed field once

This commit is contained in:
dualfroz committed 2026-09-23 11:51:34 +02:00
1 parent f078e2a2c0
commit 05f5fc4dc9
3 files changed
+35 -2

No files matched your search

@@ -95,6 +95,16 @@ namespace NLog.UnitTests.Targets
public string ReadPrivate() => _private;
}
private class ClassWithBaseField
{
public string Name = "base";
}
private sealed class ClassWithShadowingField : ClassWithBaseField
{
public new string Name = "derived";
}
private static ContainerClass BuildSampleObject()
{
var testObject = new ContainerClass
@@ -236,6 +246,12 @@ namespace NLog.UnitTests.Targets
Assert.Equal(@"{""Name"":""John"",""Age"":42}", withFieldsAgain.ToString());
}
[Fact]
public void IncludePublicFields_ShadowedField_IsWrittenOnce()
{
Assert.Equal(@"{""Name"":""derived""}", SerializeWithFields(new ClassWithShadowingField()));
}
[Fact]
public void IncludePublicFields_ExpandoObject_StillEnumeratesEntries()
{