public async Task ThrowIf_AddFile_AfterDispose_Async() { using MemoryStream archiveStream = new MemoryStream(); TarWriter writer = new TarWriter(archiveStream); await writer.DisposeAsync(); await Assert.ThrowsAsync <ObjectDisposedException>(() => writer.WriteEntryAsync("fileName", "entryName")); }
public async Task WriteEntry_AfterDispose_Throws_Async() { using MemoryStream archiveStream = new MemoryStream(); TarWriter writer = new TarWriter(archiveStream); await writer.DisposeAsync(); PaxTarEntry entry = new PaxTarEntry(TarEntryType.RegularFile, InitialEntryName); await Assert.ThrowsAsync <ObjectDisposedException>(() => writer.WriteEntryAsync(entry)); }
public async Task Constructor_NoEntryInsertion_WritesNothing_Async() { await using (MemoryStream archiveStream = new MemoryStream()) { TarWriter writer = new TarWriter(archiveStream, TarEntryFormat.Pax, leaveOpen: true); await writer.DisposeAsync(); // No entries inserted, should write no empty records Assert.Equal(0, archiveStream.Length); } }
public async Task Constructors_LeaveOpen_Async() { await using (MemoryStream archiveStream = new MemoryStream()) { TarWriter writer1 = new TarWriter(archiveStream, TarEntryFormat.Pax, leaveOpen: true); await writer1.DisposeAsync(); archiveStream.WriteByte(0); // Should succeed because stream was not closed TarWriter writer2 = new TarWriter(archiveStream, TarEntryFormat.Pax, leaveOpen: false); await writer2.DisposeAsync(); Assert.Throws <ObjectDisposedException>(() => archiveStream.WriteByte(0)); // Should fail because stream was closed } }