예제 #1
0
        private void ValidateCompressedData(Span <byte> data, byte[] expected)
        {
            byte[] decompressed         = new byte[expected.Length];
            TransformationStatus result = BrotliPrimitives.Decompress(data, decompressed, out int consumed, out int written);

            Assert.Equal <TransformationStatus>(TransformationStatus.Done, result);
            Assert.Equal <byte>(expected, decompressed);
        }
예제 #2
0
        public void RoundtripCompressDecompress(int totalSize)
        {
            byte[] data = new byte[totalSize];
            new Random(42).NextBytes(data);
            Span <byte>          compressed = new byte[BrotliPrimitives.GetMaximumCompressedSize(totalSize)];
            TransformationStatus result     = BrotliPrimitives.Compress(data, compressed, out int consumed, out int written);

            Assert.Equal(TransformationStatus.Done, result);
            Assert.Equal(totalSize, consumed);
            compressed = compressed.Slice(0, written);
            ValidateCompressedData(compressed, data);
        }
예제 #3
0
 public void TestMethodCompressEx(int quality, int lgWinSize)
 {
     Assert.Throws <ArgumentOutOfRangeException>(() => BrotliPrimitives.Compress(new byte[1], new byte[1], out int consumed, out int written, quality, lgWinSize));
 }