public void GZipStream_Decompressor_2() { byte[] input = new byte[] { 0x1F, 0x8B, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x73, 0x74, 0x72, 0x76, 0x71, 0x75, 0x03, 0x00, 0x69, 0xFE, 0x76, 0xBB, 0x06, 0x00, 0x00, 0x00 }; byte[] plaintext = Encoding.UTF8.GetBytes("ABCDEF"); byte[] decompBytes = GZipCompressor.Decompress(input); Assert.IsTrue(decompBytes.SequenceEqual(plaintext)); }
public void Decompress() { var TestObject = new GZipCompressor(); string Data = "This is a bit of data that I want to compress"; Assert.Equal("This is a bit of data that I want to compress", TestObject.Decompress(TestObject.Compress(Data.ToByteArray())).ToString(null)); }
public void CompressionTest() { AutoResetEvent waitHandle = new AutoResetEvent(false); compressor = new GZipCompressor(waitHandle); //startFileName = @"video.avi"; string decompressedFileName = @"Decompressed_" + startFileName; compressor.OnCompressionComplete += compressor_OnCompressionComplete; compressor.Compress(startFileName, endFileName); waitHandle.WaitOne(); string startFileHash = ""; string decompressedFileHash = ""; MD5 md5hash = MD5.Create(); compressor.Decompress(endFileName, decompressedFileName); waitHandle.WaitOne(); using (Stream startFileStream = File.OpenRead(startFileName)) using (Stream decompressedFIleStream = File.OpenRead(decompressedFileName)) { startFileHash = Encoding.Default.GetString(md5hash.ComputeHash(startFileStream)); decompressedFileHash = Encoding.Default.GetString(md5hash.ComputeHash(decompressedFIleStream)); } Assert.AreEqual(startFileHash, decompressedFileHash); }
public void Compressor_CanDecompressIonic() { ICompressor compressor = new GZipCompressor(); string file = compressor.Decompress(compressor.Compress(TestFilePath)); Assert.IsTrue(File.Exists(file)); Assert.AreEqual(TestFilePath, file); }
public void TestDecompress_NullBytes() { GZipCompressor c = new GZipCompressor(); byte[] decompressed = c.Decompress(null); Assert.IsNotNull(decompressed); Assert.AreEqual(0, decompressed.Length); }
public void TestCompressDecompressSomeByteArray() { ICompressor compressor = new GZipCompressor(); var originalBytes = Encoding.UTF8.GetBytes("Hello, World!"); var compressedBytes = compressor.Compress(originalBytes); var decompressedBytes = compressor.Decompress(compressedBytes); CollectionAssert.AreEqual(originalBytes, decompressedBytes); }
public void TestCompressDecompressEmptyByteArray() { ICompressor compressor = new GZipCompressor(); var originalBytes = new byte[0]; var compressedBytes = compressor.Compress(originalBytes); var decompressedBytes = compressor.Decompress(compressedBytes); CollectionAssert.AreEqual(originalBytes, decompressedBytes); }
public void TestDecompress_CompressedBytes() { GZipCompressor c = new GZipCompressor(); string str = "Hello"; byte[] strBytes = System.Text.Encoding.UTF8.GetBytes(str); byte[] compressed = c.Compress(strBytes); byte[] decompressed = c.Decompress(compressed); string strDecompressed = System.Text.Encoding.Default.GetString(decompressed); Assert.AreEqual(str, strDecompressed); }
public void GZipStream_Compressor_2() { byte[] input = Encoding.UTF8.GetBytes("ABCDEF"); // Compress first, // 1F-8B-08-00-00-00-00-00-00-0A-73-74-72-76-71-75-03-00-69-FE-76-BB-06-00-00-00 byte[] compBytes = GZipCompressor.Compress(input); // then Decompress byte[] decompBytes = GZipCompressor.Decompress(compBytes); // Comprare SHA256 Digest byte[] inputDigest = TestSetup.SHA256Digest(input); byte[] decompDigest = TestSetup.SHA256Digest(decompBytes); Assert.IsTrue(decompDigest.SequenceEqual(inputDigest)); }
public void CompressDecompressTest() { GZipCompressor target = new GZipCompressor(); string strContent = "Hello World"; byte[] content = Encoding.ASCII.GetBytes(strContent); using (Stream requestStream = new MemoryStream()) { var compressedStream = new GZipStream(requestStream, CompressionMode.Compress); compressedStream.Write(content, 0, content.Length); Stream actual = target.Decompress(requestStream); Assert.IsNotNull(actual); actual.Read(content, 0, content.Length); string dString = Encoding.ASCII.GetString(content); Assert.IsTrue(string.Compare(strContent, dString, false) == 0); } }
public void TestExecuteDecompressionTaskOnWholeFile() { var inputFile = new FileInfo("input.txt.gz"); var outputFile = new FileInfo("output.txt"); File.Delete(outputFile.Name); var inputHolder = new FileChunkHolder(); var outputHolder = new FileChunkHolder(); var compressor = new GZipCompressor(); var task = new DecompressionTask(0, inputHolder, outputHolder, compressor, inputFile.Name, 0, (int)inputFile.Length, outputFile.Name); task.Start(); Assert.AreEqual(0, inputHolder.Count()); Assert.AreEqual(0, outputHolder.Count()); CollectionAssert.AreEqual(compressor.Decompress(File.ReadAllBytes(inputFile.Name)), File.ReadAllBytes(outputFile.Name)); }
public void GZipStream_Decompressor_1() { void Template(string fileName) { string compPath = Path.Combine(TestSetup.SampleDir, fileName + ".gz"); string decompPath = Path.Combine(TestSetup.SampleDir, fileName); using (FileStream decompFs = new FileStream(decompPath, FileMode.Open, FileAccess.Read, FileShare.Read)) using (FileStream compFs = new FileStream(compPath, FileMode.Open, FileAccess.Read, FileShare.Read)) using (MemoryStream decompMs = GZipCompressor.Decompress(compFs)) { // Compare SHA256 Digest byte[] fileDigest = TestSetup.SHA256Digest(decompFs); byte[] decompDigest = TestSetup.SHA256Digest(decompMs); Assert.IsTrue(decompDigest.SequenceEqual(fileDigest)); } } Template("ex1.jpg"); Template("ex2.jpg"); Template("ex3.jpg"); }
public void GZipStream_Compressor_1() { void Template(string fileName, ZLibCompLevel level) { string filePath = Path.Combine(TestSetup.SampleDir, fileName); using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read)) using (MemoryStream compMs = GZipCompressor.Compress(fs)) using (MemoryStream decompMs = GZipCompressor.Decompress(compMs)) { // Compare SHA256 Digest fs.Position = 0; byte[] fileDigest = TestSetup.SHA256Digest(fs); byte[] decompDigest = TestSetup.SHA256Digest(decompMs); Assert.IsTrue(decompDigest.SequenceEqual(fileDigest)); } } Template("ex1.jpg", ZLibCompLevel.Default); Template("ex2.jpg", ZLibCompLevel.BestCompression); Template("ex3.jpg", ZLibCompLevel.BestSpeed); }
public void LZ4_Read_Write_Faster_Than_GZip() { var gzipCompressor = new GZipCompressor(); var lz4Compressor = new LZ4Compressor(); double gzipSeconds = 0; double lz4Seconds = 0; Stopwatch watch = new Stopwatch(); watch.Start(); for (int i = 0; i < 1000; i++) { byte[] data = TestHelper.GetRandomByteArray(10); byte[] compressed = gzipCompressor.Compress(data); byte[] deflated = gzipCompressor.Decompress(compressed); Assert.IsTrue(data.SequenceEqual(deflated)); } watch.Stop(); gzipSeconds = watch.Elapsed.TotalSeconds; watch = new Stopwatch(); watch.Start(); for (int i = 0; i < 1000; i++) { byte[] data = TestHelper.GetRandomByteArray(10); byte[] compressed = lz4Compressor.Compress(data); byte[] deflated = lz4Compressor.Decompress(compressed); Assert.IsTrue(data.SequenceEqual(deflated)); } watch.Stop(); lz4Seconds = watch.Elapsed.TotalSeconds; Assert.IsTrue(lz4Seconds < gzipSeconds); }
public void MustPerformCorrectly() { var data = Encoding.UTF8.GetBytes(String.Join(" ", Enumerable.Repeat("A comparatively easy text to compress.", 100))); var compressed = sut.Compress(new MemoryStream(data)); compressed.Seek(0, SeekOrigin.Begin); Assert.AreEqual(ID1, compressed.ReadByte()); Assert.AreEqual(ID2, compressed.ReadByte()); Assert.AreEqual(CM, compressed.ReadByte()); Assert.IsTrue(compressed.Length < data.Length); var decompressed = sut.Decompress(compressed); decompressed.Seek(0, SeekOrigin.Begin); foreach (var item in data) { Assert.AreEqual(item, decompressed.ReadByte()); } Assert.IsTrue(decompressed.Length == data.Length); }