public void DestructuringIsPossibleForSystemTypeDerivedProperties()
{
var events = new List<LogEvent>();
var sink = new DelegatingSink(events.Add);
var logger = new LoggerConfiguration()
.Destructure.With(new ProjectedDestructuringPolicy(
canApply: t => typeof(Type).GetTypeInfo().IsAssignableFrom(t.GetTypeInfo()),
projection: o => ((Type)o).AssemblyQualifiedName))
.WriteTo.Sink(sink)
.CreateLogger();
var thisType = this.GetType();
logger.Information("{@thisType}", thisType);
var ev = events.Single();
var prop = ev.Properties["thisType"];
var sv = Assert.IsAssignableFrom<ScalarValue>(prop);
Assert.Equal(thisType.AssemblyQualifiedName, sv.LiteralValue());
}