public void CompressDecompress([ValueSource(nameof(_testLengths))] int length, [Values] XZLevel level) { byte[] data = Enumerable.Range(0, length).Select(x => (byte)x).ToArray(); XZCodec codec = new XZCodec(level); byte[] compressed = codec.Compress(data); byte[] uncompressed = codec.Decompress(compressed, compressed.Length); Assert.IsTrue(Enumerable.SequenceEqual(data, uncompressed)); }
public void CompressDecompressStream([ValueSource(nameof(_testLengths))] int length, [Values] XZLevel level) { byte[] data = Enumerable.Range(0, length).Select(x => (byte)x).ToArray(); XZCodec codec = new XZCodec(level); using (MemoryStream inputStream = new MemoryStream(data)) using (MemoryStream outputStream = new MemoryStream()) { codec.Compress(inputStream, outputStream); byte[] compressed = outputStream.ToArray(); byte[] uncompressed = codec.Decompress(compressed, compressed.Length); Assert.IsTrue(Enumerable.SequenceEqual(data, uncompressed)); } }