public static void ReuseAfterCleanup(int threshold) { using var writer = new FileBufferingWriter(memoryThreshold: threshold, asyncIO: false); var bytes = new byte[500]; for (byte i = 0; i < byte.MaxValue; i++) { bytes[i] = i; } writer.Write(bytes, 0, byte.MaxValue); writer.Write(bytes.AsSpan(byte.MaxValue)); Equal(bytes.Length, writer.Length); using (var manager = writer.GetWrittenContent()) Equal(bytes, manager.Memory.ToArray()); writer.Clear(); writer.Write(bytes, 0, byte.MaxValue); writer.Write(bytes.AsSpan(byte.MaxValue)); Equal(bytes.Length, writer.Length); using (var manager = writer.GetWrittenContent()) Equal(bytes, manager.Memory.ToArray()); }