예제 #1
0
파일: ZipAppTest.cs 프로젝트: ks1f3n/ZipApp
        public Byte[] Decompress()
        {
            var zipOperation = new ZipDecompressor();
            var readerQueue  = new SynchronizedQueue <Chunk>(4);
            var writerQueue  = new SynchronizedQueue <Chunk>(4);

            zipOperation.Cancel += readerQueue.Close;
            zipOperation.Cancel += writerQueue.Close;

            var reader = new Thread(() => zipOperation.Reader(MID_OUTPUT_FILE, ref readerQueue));
            var proces = new Thread(() => zipOperation.Process(ref readerQueue, ref writerQueue));
            var writer = new Thread(() => zipOperation.Writer(OUTPUT_FILE, ref writerQueue));

            reader.Start();
            proces.Start();
            writer.Start();

            reader.Join();
            proces.Join();
            writer.Join();

            zipOperation.Cancel -= readerQueue.Close;
            zipOperation.Cancel -= writerQueue.Close;

            return(File.ReadAllBytes("test_input_res.txt"));
        }
예제 #2
0
        private void DecompressZip(Stream stream)
        {
            m_TreeView.SelectedItem = null;
            m_TreeView.Items.Clear();

            ZipDecompressor decompressor = new ZipDecompressor(m_TreeView);

            NCompression.DecompressZip(stream, decompressor);
        }
예제 #3
0
 public void SetUp()
 {
     _zipDecompressor = new ZipDecompressor();
 }