Exemple #1
0
        public void Count_should_return_count_of_pushed_items()
        {
            int expected   = 44;
            var blockStack = new ConcurrentBlockStack();

            for (int i = 0; i < expected; i++)
            {
                blockStack.Push(new BlockWithPosition(new byte[] { 2, 3, 4 }, 11));
            }
            Assert.AreEqual(expected, blockStack.Count());
        }
Exemple #2
0
        public MultithreadFileDecompressor(IBlockDecompressor blockDecompressor, IBlockStreamWriter blockWriter, IBlockStreamReader blockReader,
                                           int threadsCount = 15)
        {
            _blockDecompressor = blockDecompressor;
            _blockReader       = blockReader;
            _blockWriter       = blockWriter;
            _threadsCount      = threadsCount;

            _readedBlocks       = new ConcurrentBlockStack();
            _decompressedBlocks = new ConcurrentBlockStack();
        }
Exemple #3
0
        public MultithreadFileCompressor(IBlockCompressor blockCompressor, IBlockStreamWriter blockWriter, IBlockStreamReader blockReader,
                                         int threadsCount = 15, int blockLen = (1024 * 1024) *10)
        {
            _blockCompressor = blockCompressor;
            _blockReader     = blockReader;
            _blockWriter     = blockWriter;
            _blockLen        = blockLen;
            _threadsCount    = threadsCount;

            _currentReadIndex = 0;
            _readedBlocks     = new ConcurrentBlockStack();
            _compressedBlocks = new ConcurrentBlockStack();
        }
Exemple #4
0
        public void TryPop_should_return_last_Pushed_block()
        {
            var blockStack = new ConcurrentBlockStack();
            var expected   = new BlockWithPosition(new byte[] { 1, 2, 3 }, 22);

            blockStack.Push(new BlockWithPosition(new byte[] { 2, 3, 4 }, 11));
            blockStack.Push(expected);

            var tempExpected = new BlockWithPosition();

            blockStack.TryPop(out tempExpected);

            Assert.AreEqual(expected, tempExpected);
        }