Esempio n. 1
0
        public void TestCompressOneChunk()
        {
            var originalBytes = Encoding.UTF8.GetBytes("AVAILABILITY for the Always-On Enterprise");

            var compressor   = new GZipCompressor();
            var inputHolder  = new FileChunkHolder();
            var outputHolder = new FileChunkHolder();

            inputHolder.Add(0, originalBytes);
            Assert.AreEqual(1, inputHolder.Count());
            Assert.AreEqual(0, outputHolder.Count());

            var command = new CompressChunkCommand(0, inputHolder, outputHolder, compressor);

            command.Execute();

            Assert.AreEqual(0, inputHolder.Count());
            Assert.AreEqual(1, outputHolder.Count());
            CollectionAssert.AreEqual(compressor.Compress(originalBytes), outputHolder.Get(0));
        }
Esempio n. 2
0
        public async void CompressChunkCommand_Should_Update_Chunk_With_CompressedChunk()
        {
            //Arrange
            var mediator   = new Mock <IMediator>();
            var compressor = new Mock <ICompressor>();

            var originalBytes   = Encoding.UTF8.GetBytes("Hello World!");
            var compressedBytes = Encoding.UTF8.GetBytes("Hello!");

            var dictionary = new ConcurrentFileDictionary();

            dictionary.AddOrUpdate(0, originalBytes);

            var command = new CompressChunkCommand(0, dictionary);
            var handler = new CompressChunkCommandHanlder(compressor.Object);

            compressor.Setup(x => x.Compress(originalBytes)).Returns(compressedBytes);

            //Act
            Unit x = await handler.Handle(command, new System.Threading.CancellationToken());

            //Assert
            Assert.Equal(compressedBytes, dictionary.Get(0));
        }