コード例 #1
0
        public void ToStream_Should_Archive_Directories()
        {
            // Arrange
            var archiver = new ZipPackager();

            using var tempDir = new TempDirectory();
            var d1 = Path.Join(tempDir.FullPath, "d1");

            Directory.CreateDirectory(d1);
            var d2 = Path.Join(d1, "d2");

            Directory.CreateDirectory(d2);

            // Act
            var buf = archiver.ToBytes(tempDir.FullPath);

            // Assert
            var zip = new ZipArchive(new MemoryStream(buf));

            using var entries = zip.Entries.GetEnumerator();
            entries.MoveNext().Should().BeTrue();
            Assert.NotNull(entries.Current);
            entries.Current.FullName.Should().Be("d1/");
            using var reader = new StreamReader(entries.Current.Open());
            reader.ReadToEnd().Should().BeEmpty();
            entries.MoveNext().Should().BeTrue();
            Assert.NotNull(entries.Current);
            entries.Current.FullName.Should().Be("d1/d2/");
            entries.MoveNext().Should().BeFalse();
        }
コード例 #2
0
        public void ToStream_Should_Create_Zip_Archive()
        {
            // Arrange
            var archiver = new ZipPackager();
            var tempDir  = new TempDirectory();

            // Act
            var buf = archiver.ToBytes(tempDir.FullPath);

            // Assert
            new ZipArchive(new MemoryStream(buf)).Should().BeOfType <ZipArchive>();
        }