public void TestDisposingBeforeGettingBuffer() { var count = 4000; var manager = new BlockingBufferManager(300, count); manager.Dispose(); manager.GetBuffer(); }
public void TestDisposingBeforeReleasingBuffer() { var count = 4000; var manager = new BlockingBufferManager(300, count); var buffer = manager.GetBuffer(); manager.Dispose(); manager.ReleaseBuffer(buffer); }
public void TestDisposingWhileGettingBuffer() { var manager = new BlockingBufferManager(300, 1); // Take the only buffer. manager.GetBuffer(); // Dispose after one second. Task.Delay(1000).ContinueWith(t => manager.Dispose()); // Wait for a buffer to become available. manager.GetBuffer(); }