Inheritance: System.IO.BinaryWriter
        public void Can_read_write_nested_named_stream()
        {
            ////Arrange
            using (var stream = new MemoryStream())
            {
                using (var archiveWriter = new ArchiveWriter(stream, true))
                    archiveWriter
                        .AddStream("test.txt", new MemoryStream(Encoding.UTF8.GetBytes("hello world")))
                        .AddStream("this/is/nested/test.txt", new MemoryStream(Encoding.UTF8.GetBytes("hello world")));

                stream.Position = 0;

                using (var archiveReader = new ArchiveReader(stream))
                using (var destinationStream = new MemoryStream())
                {
                    // move to second file
                    archiveReader.ReadFileName();
                    archiveReader.ExtractToStream(Stream.Null);

                    ////Act
                    var file = archiveReader.ReadFileName();
                    archiveReader.ExtractToStream(destinationStream);

                    ////Assert
                    Assert.That(file, Is.EqualTo("this/is/nested/test.txt"));
                    Assert.That(Encoding.UTF8.GetString(destinationStream.ToArray()), Is.EqualTo("hello world"));
                }
            }
        }
        public void Can_read_write_binary_to_stream()
        {
            ////Arrange
            using (var stream = new MemoryStream())
            {
                using (var archiveWriter = new ArchiveWriter(stream, true))
                    archiveWriter.AddStream("test.bin", new MemoryStream(new byte[] { 1, 2, 3 }));

                stream.Position = 0;

                using (var archiveReader = new ArchiveReader(stream))
                using (var destinationStream = new MemoryStream())
                {
                    ////Act
                    var file = archiveReader.ReadFileName();
                    archiveReader.ExtractToStream(destinationStream);

                    ////Assert
                    Assert.That(file, Is.EqualTo("test.bin"));
                    Assert.AreEqual(destinationStream.ToArray(), new byte[] { 1, 2, 3 });
                }
            }
        }