try to fix more tests

This commit is contained in:
Adam Hathcock
2024-04-23 09:06:49 +01:00
parent 23dd041e2e
commit b94e75fabe
10 changed files with 22 additions and 26 deletions

View File

@@ -90,7 +90,7 @@ public class GZipArchive : AbstractWritableArchive<GZipArchiveEntry, GZipVolume>
{
stream.CheckNotNull(nameof(stream));
return new GZipArchive(
new SourceStream(stream, i => null, readerOptions ?? new ReaderOptions())
new SourceStream(stream, _ => null, readerOptions ?? new ReaderOptions())
);
}
@@ -106,8 +106,7 @@ public class GZipArchive : AbstractWritableArchive<GZipArchiveEntry, GZipVolume>
protected override IEnumerable<GZipVolume> LoadVolumes(SourceStream sourceStream)
{
sourceStream.LoadAllParts();
var idx = 0;
return sourceStream.Streams.Select(a => new GZipVolume(a, ReaderOptions, idx++));
return sourceStream.Streams.Select(a => new GZipVolume(a, ReaderOptions, 0));
}
public static bool IsGZipFile(string filePath) => IsGZipFile(new FileInfo(filePath));

View File

@@ -13,7 +13,7 @@ namespace SharpCompress.Archives.Rar;
/// </summary>
internal class FileInfoRarArchiveVolume : RarVolume
{
internal FileInfoRarArchiveVolume(FileInfo fileInfo, ReaderOptions options, int index = 0)
internal FileInfoRarArchiveVolume(FileInfo fileInfo, ReaderOptions options, int index)
: base(StreamingMode.Seekable, fileInfo.OpenRead(), FixOptions(options), index)
{
FileInfo = fileInfo;

View File

@@ -38,11 +38,11 @@ public class RarArchive : AbstractArchive<RarArchiveEntry, RarVolume>
streams[1].Position = 0;
sourceStream.Position = 0;
return sourceStream.Streams.Select(a => new StreamRarArchiveVolume(a, ReaderOptions, 1));
return sourceStream.Streams.Select(a => new StreamRarArchiveVolume(a, ReaderOptions, 0));
}
else //split mode or single file
{
return new StreamRarArchiveVolume(sourceStream, ReaderOptions, 1).AsEnumerable();
return new StreamRarArchiveVolume(sourceStream, ReaderOptions, 0).AsEnumerable();
}
}

View File

@@ -5,7 +5,7 @@ namespace SharpCompress.Common.GZip;
public class GZipVolume : Volume
{
public GZipVolume(Stream stream, ReaderOptions? options, int index = 0)
public GZipVolume(Stream stream, ReaderOptions? options, int index)
: base(stream, options, index) { }
public GZipVolume(FileInfo fileInfo, ReaderOptions options)

View File

@@ -15,17 +15,14 @@ namespace SharpCompress.Common.Rar;
public abstract class RarVolume : Volume
{
private readonly RarHeaderFactory _headerFactory;
internal int _maxCompressionAlgorithm;
private int _maxCompressionAlgorithm;
internal RarVolume(StreamingMode mode, Stream stream, ReaderOptions options, int index = 0)
internal RarVolume(StreamingMode mode, Stream stream, ReaderOptions options, int index)
: base(stream, options, index) => _headerFactory = new RarHeaderFactory(mode, options);
#nullable disable
internal ArchiveHeader ArchiveHeader { get; private set; }
private ArchiveHeader? ArchiveHeader { get; set; }
#nullable enable
internal StreamingMode Mode => _headerFactory.StreamingMode;
private StreamingMode Mode => _headerFactory.StreamingMode;
internal abstract IEnumerable<RarFilePart> ReadFileParts();
@@ -101,7 +98,7 @@ public abstract class RarVolume : Volume
get
{
EnsureArchiveHeaderLoaded();
return ArchiveHeader.IsFirstVolume;
return ArchiveHeader?.IsFirstVolume ?? false;
}
}
@@ -113,7 +110,7 @@ public abstract class RarVolume : Volume
get
{
EnsureArchiveHeaderLoaded();
return ArchiveHeader.IsVolume;
return ArchiveHeader?.IsVolume ?? false;
}
}
@@ -126,7 +123,7 @@ public abstract class RarVolume : Volume
get
{
EnsureArchiveHeaderLoaded();
return ArchiveHeader.IsSolid;
return ArchiveHeader?.IsSolid ?? false;
}
}

View File

@@ -7,8 +7,8 @@ namespace SharpCompress.Readers.GZip;
public class GZipReader : AbstractReader<GZipEntry, GZipVolume>
{
internal GZipReader(Stream stream, ReaderOptions options)
: base(options, ArchiveType.GZip) => Volume = new GZipVolume(stream, options);
private GZipReader(Stream stream, ReaderOptions options)
: base(options, ArchiveType.GZip) => Volume = new GZipVolume(stream, options, 0);
public override GZipVolume Volume { get; }

View File

@@ -17,7 +17,7 @@ internal class MultiVolumeRarReader : RarReader
internal MultiVolumeRarReader(IEnumerable<Stream> streams, ReaderOptions options)
: base(options) => this.streams = streams.GetEnumerator();
internal override void ValidateArchive(RarVolume archive) { }
protected override void ValidateArchive(RarVolume archive) { }
protected override Stream RequestInitialStream()
{

View File

@@ -14,14 +14,14 @@ namespace SharpCompress.Readers.Rar;
public abstract class RarReader : AbstractReader<RarReaderEntry, RarVolume>
{
private RarVolume? volume;
internal Lazy<IRarUnpack> UnpackV2017 { get; } =
private Lazy<IRarUnpack> UnpackV2017 { get; } =
new(() => new Compressors.Rar.UnpackV2017.Unpack());
internal Lazy<IRarUnpack> UnpackV1 { get; } = new(() => new Compressors.Rar.UnpackV1.Unpack());
private Lazy<IRarUnpack> UnpackV1 { get; } = new(() => new Compressors.Rar.UnpackV1.Unpack());
internal RarReader(ReaderOptions options)
: base(options, ArchiveType.Rar) { }
internal abstract void ValidateArchive(RarVolume archive);
protected abstract void ValidateArchive(RarVolume archive);
public override RarVolume? Volume => volume;
@@ -51,7 +51,7 @@ public abstract class RarReader : AbstractReader<RarReaderEntry, RarVolume>
protected override IEnumerable<RarReaderEntry> GetEntries(Stream stream)
{
volume = new RarReaderVolume(stream, Options);
volume = new RarReaderVolume(stream, Options, 0);
foreach (var fp in volume.ReadFileParts())
{
ValidateArchive(volume);

View File

@@ -8,7 +8,7 @@ namespace SharpCompress.Readers.Rar;
public class RarReaderVolume : RarVolume
{
internal RarReaderVolume(Stream stream, ReaderOptions options, int index = 0)
internal RarReaderVolume(Stream stream, ReaderOptions options, int index)
: base(StreamingMode.Streaming, stream, options, index) { }
internal override RarFilePart CreateFilePart(MarkHeader markHeader, FileHeader fileHeader) =>

View File

@@ -11,7 +11,7 @@ internal class SingleVolumeRarReader : RarReader
internal SingleVolumeRarReader(Stream stream, ReaderOptions options)
: base(options) => this.stream = stream;
internal override void ValidateArchive(RarVolume archive)
protected override void ValidateArchive(RarVolume archive)
{
if (archive.IsMultiVolume)
{