2025-12-18 15:26:35 +00:00
|
|
|
using System.IO;
|
2025-12-19 12:15:54 +00:00
|
|
|
using System.Linq;
|
|
|
|
|
using System.Threading.Tasks;
|
2025-12-18 15:26:35 +00:00
|
|
|
using SharpCompress.Archives;
|
|
|
|
|
using SharpCompress.Common;
|
|
|
|
|
using SharpCompress.Readers;
|
|
|
|
|
using Xunit;
|
|
|
|
|
|
|
|
|
|
namespace SharpCompress.Test;
|
|
|
|
|
|
2025-12-19 14:33:24 +00:00
|
|
|
public class ExtractAllTests : TestBase
|
2025-12-18 15:26:35 +00:00
|
|
|
{
|
|
|
|
|
[Theory]
|
|
|
|
|
[InlineData("Zip.deflate.zip")]
|
|
|
|
|
[InlineData("Rar5.rar")]
|
|
|
|
|
[InlineData("Rar.rar")]
|
|
|
|
|
[InlineData("Rar.solid.rar")]
|
2025-12-18 15:33:26 +00:00
|
|
|
[InlineData("7Zip.solid.7z")]
|
|
|
|
|
[InlineData("7Zip.nonsolid.7z")]
|
|
|
|
|
[InlineData("7Zip.LZMA.7z")]
|
2026-01-08 12:35:12 +00:00
|
|
|
public async ValueTask ExtractAllEntriesAsync(string archivePath)
|
2025-12-19 12:15:54 +00:00
|
|
|
{
|
|
|
|
|
var testArchive = Path.Combine(TEST_ARCHIVES_PATH, archivePath);
|
|
|
|
|
|
2026-01-15 11:41:30 +00:00
|
|
|
await using var archive = await ArchiveFactory.OpenAsyncArchive(testArchive);
|
2026-02-09 16:52:54 +00:00
|
|
|
await archive.WriteToDirectoryAsync(SCRATCH_FILES_PATH);
|
2025-12-19 12:15:54 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Theory]
|
|
|
|
|
[InlineData("Zip.deflate.zip")]
|
|
|
|
|
[InlineData("Rar5.rar")]
|
|
|
|
|
[InlineData("Rar.rar")]
|
|
|
|
|
[InlineData("Rar.solid.rar")]
|
|
|
|
|
[InlineData("7Zip.solid.7z")]
|
|
|
|
|
[InlineData("7Zip.nonsolid.7z")]
|
|
|
|
|
[InlineData("7Zip.LZMA.7z")]
|
|
|
|
|
public void ExtractAllEntriesSync(string archivePath)
|
2025-12-18 15:26:35 +00:00
|
|
|
{
|
|
|
|
|
var testArchive = Path.Combine(TEST_ARCHIVES_PATH, archivePath);
|
|
|
|
|
|
2026-01-15 11:41:30 +00:00
|
|
|
using var archive = ArchiveFactory.OpenArchive(testArchive);
|
2026-02-09 16:52:54 +00:00
|
|
|
archive.WriteToDirectory(SCRATCH_FILES_PATH);
|
2025-12-18 15:26:35 +00:00
|
|
|
}
|
|
|
|
|
}
|