public void GZipMemberEntry_GetAllMemberEntriesFromGZipContainingFileNames_GetsMemberExpectedEntryData(TestResource testResource, long expectedLength, uint expectedCrc32) { using (var stream = testResource.OpenResourceForReading()) { var entry = GZipMemberEntry.GetMemberEntries(stream).Single(); VerifyGZipMemberEntry(entry, testResource.ArchiveContents.First(), expectedCrc32, expectedLength, GZipOS.Unix); } }
private static Stream CreateCorruptedGZipStream(TestResource testResource, int offsetToCorrupt) { var stream = new MemoryStream(); using (var resourceStream = testResource.OpenResourceForReading()) { resourceStream.CopyTo(stream); } stream.Seek(offsetToCorrupt, SeekOrigin.Begin); stream.WriteByte(0xFF); stream.Seek(0, SeekOrigin.Begin); return(stream); }
public void GZipMemberEntry_GetAllMemberEntriesFromStreamContainingTwoConcatenatedGZips_GetsMembersWithExpectedEntryNames(TestResource testResource, IEnumerable <VerificationData> verificationData) { using (var stream = testResource.OpenResourceForReading()) { var entries = GZipMemberEntry.GetMemberEntries(stream).ToList(); var verifyEntriesData = verificationData.ToList(); for (var i = 0; i < entries.Count; ++i) { var verifyData = verifyEntriesData[i]; VerifyGZipMemberEntry(entries[i], verifyData.ExpectedName, verifyData.ExpectedCrc32, verifyData.ExpectedLength, checkModificationDate: verifyData.CheckLastModificationTime); } } }
public void TarArchiveAccess_OpenTar_HasExpectedEntries(TestResource testResource, bool expectAtLeastOneDirectoryEntry) { using (var tar = CompressedArchiveAccess.Open(testResource.OpenResourceForReading(), CompressedArchiveFormat.Tar, CompressedArchiveAccessMode.Read)) { Assert.True(tar.IsArchive); Assert.False(tar.IsCompressed); Assert.Equal(CompressedArchiveFormat.Tar, tar.Format); var expectedEntryNames = testResource.ArchiveContents.ToList(); Assert.Equal(expectedEntryNames.Count, tar.Entries.Count()); Assert.Equal(expectAtLeastOneDirectoryEntry, tar.Entries.Any(e => e.IsDirectory)); var i = 0; foreach (var entry in tar.Entries) { Assert.Equal(expectedEntryNames[i], entry.Name); Assert.True(entry.LastModificationTime.Year > 1977); if (!entry.IsDirectory) { Assert.True(entry.Length > 0); } ++i; } } }