public void TestHQCompressionBadParameters() { var result = LZ4Sharp.CompressBytes(null, out var compressedData, LZ4CompressionSettings.Default); Assert.AreEqual(LZ4Result.UncompressedDataIsNull, result); Assert.IsNull(compressedData); result = LZ4Sharp.CompressBytes(null, out compressedData, null); Assert.AreEqual(LZ4Result.UncompressedDataIsNull, result); Assert.IsNull(compressedData); result = LZ4Sharp.CompressBytes(TestHelper.GetDataToCompress(), out compressedData, null); Assert.AreEqual(LZ4Result.CompressionSettingsAreNull, result); Assert.IsNull(compressedData); result = LZ4Sharp.CompressBytes(TestHelper.CreateInvalidLongData(), out compressedData, null); Assert.AreEqual(LZ4Result.CompressionSettingsAreNull, result); Assert.IsNull(compressedData); result = LZ4Sharp.CompressBytes(TestHelper.GetDataToCompress(), out compressedData, new LZ4CompressionSettings((LZ4CompressionMode)999, LZ4CompressionLevel.Default)); Assert.AreEqual(LZ4Result.UnsupportedCompressionMode, result); Assert.IsNull(compressedData); result = LZ4Sharp.CompressBytes(TestHelper.GetDataToCompress(), out compressedData, new LZ4CompressionSettings(LZ4CompressionMode.HighQuality, (LZ4CompressionLevel)999)); Assert.AreEqual(LZ4Result.InvalidCompressionLevel, result); Assert.IsNull(compressedData); }
public void TestDecompressionOfInvalidSourceSizeFails() { var compressedData = TestHelper.GetCompressedData(); var decompressionResult = LZ4Sharp.DecompressBytes(compressedData, 128, out var decompressedData); Assert.AreEqual(LZ4Result.DecompressionFailed, decompressionResult); Assert.IsNull(decompressedData); }
public void TestDecompressionOfBadDataFails() { var compressedData = new byte[] { 1, 2, 3, 4, 5, 6 }; var decompressionResult = LZ4Sharp.DecompressBytes(compressedData, 128, out var decompressedData); Assert.AreEqual(LZ4Result.DecompressionFailed, decompressionResult); Assert.IsNull(decompressedData); }
public void TestFastCompressionBadDataFail() { var invalidData = TestHelper.CreateInvalidLongData(); var result = LZ4Sharp.CompressBytes(invalidData, out var compressedData, LZ4CompressionSettings.Fast); Assert.AreEqual(LZ4Result.CompressionFailed, result); Assert.IsNull(compressedData); }
public void TestFastCompressionNonDefaultLevelFail() { var validTestData = TestHelper.GetDataToCompress(); var result = LZ4Sharp.CompressBytes(validTestData, out var compressedData, new LZ4CompressionSettings(LZ4CompressionMode.Fast, LZ4CompressionLevel.Max)); Assert.AreEqual(LZ4Result.FastCompressionOnlySupportsDefaultCompressionLevel, result); Assert.IsNull(compressedData); }
public void TestFastCompressionSuccess() { var validTestData = TestHelper.GetDataToCompress(); var result = LZ4Sharp.CompressBytes(validTestData, out var compressedData, LZ4CompressionSettings.Fast); Assert.AreEqual(LZ4Result.Success, result); Assert.IsTrue(validTestData.Length >= compressedData.Length); }
public void TestDecompressionOfCompressedData() { var uncompressedData = TestHelper.GetDataToCompress(); var compressedData = TestHelper.GetCompressedData(); var decompressionResult = LZ4Sharp.DecompressBytes(compressedData, uncompressedData.Length, out var decompressedData); Assert.AreEqual(LZ4Result.Success, decompressionResult); Assert.AreEqual(uncompressedData.Length, decompressedData.Length); Assert.IsTrue(uncompressedData.SequenceEqual(decompressedData)); }
public void TestHQCompressionSuccess() { var validTestData = TestHelper.GetDataToCompress(); var result = LZ4Sharp.CompressBytes(validTestData, out var defaultCompressedData, LZ4CompressionSettings.Default); Assert.AreEqual(LZ4Result.Success, result); Assert.IsTrue(validTestData.Length >= defaultCompressedData.Length); result = LZ4Sharp.CompressBytes(validTestData, out var maxCompressedData, LZ4CompressionSettings.Ultra); Assert.AreEqual(LZ4Result.Success, result); Assert.IsTrue(validTestData.Length >= maxCompressedData.Length); Assert.IsTrue(defaultCompressedData.Length >= maxCompressedData.Length); }
private static void Main() { const int randomDataSize = 1024 * 512; // 512KB var dataToCompress = new byte[randomDataSize]; // Generate some random data for our data source var random = new Random(); for (var offset = 0; offset < randomDataSize; ++offset) { dataToCompress[offset] = (byte)random.Next('A', 'E'); } foreach (var compressionSetting in new[] { LZ4CompressionSettings.Fast, LZ4CompressionSettings.Default, LZ4CompressionSettings.Ultra }) { var start = DateTime.Now; // Compress the data var result = LZ4Sharp.CompressBytes(dataToCompress, out var compressedData, compressionSetting); if (result != LZ4Result.Success) { Console.WriteLine($"Failed to compress data using settings {compressionSetting}, Reason: {result}."); continue; } // Output the results var length = DateTime.Now - start; Console.WriteLine($"Compressed {dataToCompress.Length} bytes down to {compressedData.Length} bytes using settings {compressionSetting} [Time {length}]."); } Console.WriteLine(); Console.WriteLine("Complete"); Console.ReadLine(); }