Esempio n. 1
0
        public void ReadUncompressedBlockFromStream()
        {
            //Arrange
            byte[] data   = { 1, 1, 2, 3, 5, 8, 13 };
            var    stream = new MemoryStream(data);
            var    reader = new UncompressedBlockReader(stream, data.Length);

            //Act
            var result = reader.Read(out Block newBlock);

            //Assert
            Assert.True(result);
            Assert.AreEqual(data, newBlock.Data);
        }
Esempio n. 2
0
        public void ReadWriteBlock()
        {
            //Arrange
            byte[]      data         = { 1, 1, 2, 3, 5, 8, 13 };
            var         inputStream  = new MemoryStream(data);
            var         outputStream = new MemoryStream();
            BlockReader reader       = new UncompressedBlockReader(inputStream, data.Length);
            BlockWriter writer       = new CompressedBlockWriter(outputStream);

            //Act
            var result1 = reader.Read(out Block block1);

            writer.Write(block1);

            outputStream.Seek(0, SeekOrigin.Begin);
            reader = new CompressedBlockReader(outputStream);
            var result2 = reader.Read(out Block block2);

            //Assert
            Assert.True(result1 && result2);
            Assert.AreEqual(data, block2.Data);
        }
Esempio n. 3
0
 protected override void Initialization()
 {
     try
     {
         inputStream  = BlockReader.GetInputStream(option.InputFileName);
         outputStream = BlockWriter.GetOutputStream(option.OutputFileName);
     }
     catch (FileNotFoundException)
     {
         Console.WriteLine("Файл не найден");
         isAborted = true;
         return;
     }
     catch (FileLoadException ex)
     {
         OutputConsole.DisplayError(ex);
         isAborted = true;
         return;
     }
     blockReader   = new UncompressedBlockReader(inputStream);
     blockWriter   = new CompressedBlockWriter(outputStream);
     blocksHandler = new BlockHandler(Environment.ProcessorCount, ex => Callback(ex), CompressionMode.Compress);
 }