public void SerializationRunsAndDoesNotLeak1Byte()
{
var serializer = new EventSerializer();
bool hasMetadata;
var meta = serializer.Serialize(out hasMetadata, new User());
serializer.ProcessMetadataLog(meta);
long baselineMemory = 0;
for (int i = 0; i < 100; i++)
{
serializer.Serialize(out hasMetadata, new User());
Assert.False(hasMetadata);
if (i == 2)
{
GC.Collect(2);
GC.WaitForPendingFinalizers();
GC.Collect(2);
baselineMemory = GC.GetTotalMemory(false);
}
}
GC.Collect(2);
GC.WaitForPendingFinalizers();
GC.Collect(2);
Assert.InRange(GC.GetTotalMemory(false), 0, baselineMemory+400);
}