/// <summary>
        /// Updates the <see cref="ReceivingBuffer"/> with the data
        /// of a given block, and performs a few simple tests.
        /// </summary>
        /// <param name="block"></param>
        protected virtual void ReceiveBlock(BufferedDataBlock block)
        {
            Assert.AreEqual(Token.TransferId, block.TransferTokenId);
            Assert.AreEqual(ReceivingBuffer.Count, block.Offset);

            Assert.AreEqual(block.BlockLength, block.Data.Length);
            ReceivingBuffer.AddRange(block.Data);
            LastBlock = block;
        }
Ejemplo n.º 2
0
        private void CompleteReading()
        {
            while (LastBlock == null || LastBlock.IsLastBlock == false)
            {
                long nextBlock = LastBlock == null ? 0 : LastBlock.BlockNumber + 1;
                var  block     = DownloadHandler.ReadBlock(Token.TransferId, nextBlock);
                ReceiveBlock(block);
            }

            CollectionAssert.AreEqual(SourceFileContents, ReceivingBuffer.ToArray());
        }