diff --git a/tests/SharpCompress.Test/SevenZip/SevenZipArchiveTests.cs b/tests/SharpCompress.Test/SevenZip/SevenZipArchiveTests.cs index 5e1d3176..b52d4bc2 100644 --- a/tests/SharpCompress.Test/SevenZip/SevenZipArchiveTests.cs +++ b/tests/SharpCompress.Test/SevenZip/SevenZipArchiveTests.cs @@ -204,4 +204,23 @@ public class SevenZipArchiveTests : ArchiveTests Path.Combine(TEST_ARCHIVES_PATH, "7Zip.Tar.tar") ); } + + [Fact] + public void SevenZipArchive_TestSolidDetection() + { + using var oneBlockSolidArchive = SevenZipArchive.Open( + Path.Combine(TEST_ARCHIVES_PATH, "7Zip.solid.1block.7z") + ); + Assert.True(oneBlockSolidArchive.IsSolid); + + using var solidArchive = SevenZipArchive.Open( + Path.Combine(TEST_ARCHIVES_PATH, "7Zip.solid.7z") + ); + Assert.True(solidArchive.IsSolid); + + using var nonSolidArchive = SevenZipArchive.Open( + Path.Combine(TEST_ARCHIVES_PATH, "7Zip.nonsolid.7z") + ); + Assert.False(nonSolidArchive.IsSolid); + } } diff --git a/tests/TestArchives/Archives/7Zip.solid.1block.7z b/tests/TestArchives/Archives/7Zip.solid.1block.7z new file mode 100644 index 00000000..410e4f37 Binary files /dev/null and b/tests/TestArchives/Archives/7Zip.solid.1block.7z differ