Describe IncludePublicFields as a fallback and write a shadowed field once
This commit is contained in:
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()
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user