using System.IO;
using SharpCompress.Common;
using SharpCompress.Test.Mocks;
using SharpCompress.Writers.SevenZip;
using Xunit;
namespace SharpCompress.Test.SevenZip;
///
/// 7z writing requires a seekable output stream so the signature header can be back-patched on
/// finalize (see SevenZipWriter.cs). Unlike Zip, it cannot fall back to a streaming layout, so
/// constructing a writer over a non-seekable output must fail fast. This pins that documented
/// limitation against silent regression.
///
public class SevenZipWriterNonSeekableTests
{
[Fact]
public void SevenZip_NonSeekable_Output_Throws()
{
using var ms = new MemoryStream();
Assert.Throws(() =>
new SevenZipWriter(new ForwardOnlyStream(ms), new SevenZipWriterOptions())
);
}
}