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)); }
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)); }