@@ -15,11 +15,15 @@ public void CompressAndDecompress_workCorrectly([Values(false, true)] bool useDi
1515
1616 var dict = useDictionary ? BuildDictionary ( ) : null ;
1717 var compressionLevel = bestCompression ? CompressionOptions . MaxCompressionLevel : CompressionOptions . DefaultCompressionLevel ;
18+
1819 byte [ ] compressed ;
19- using ( var compressor = new Compressor ( new CompressionOptions ( dict , compressionLevel ) ) )
20+ using ( var options = new CompressionOptions ( dict , compressionLevel ) )
21+ using ( var compressor = new Compressor ( options ) )
2022 compressed = compressor . Wrap ( data ) ;
23+
2124 byte [ ] decompressed ;
22- using ( var decompressor = new Decompressor ( new DecompressionOptions ( dict ) ) )
25+ using ( var options = new DecompressionOptions ( dict ) )
26+ using ( var decompressor = new Decompressor ( options ) )
2327 decompressed = decompressor . Unwrap ( compressed ) ;
2428
2529 CollectionAssert . AreEqual ( data , decompressed ) ;
@@ -34,8 +38,10 @@ public void DecompressWithDictionary_worksCorrectly_onDataCompressedWithoutIt()
3438 compressed = compressor . Wrap ( data ) ;
3539
3640 var dict = BuildDictionary ( ) ;
41+
3742 byte [ ] decompressed ;
38- using ( var decompressor = new Decompressor ( new DecompressionOptions ( dict ) ) )
43+ using ( var options = new DecompressionOptions ( dict ) )
44+ using ( var decompressor = new Decompressor ( options ) )
3945 decompressed = decompressor . Unwrap ( compressed ) ;
4046
4147 CollectionAssert . AreEqual ( data , decompressed ) ;
@@ -46,8 +52,10 @@ public void DecompressWithoutDictionary_throwsZstdException_onDataCompressedWith
4652 {
4753 var data = GenerateSample ( ) ;
4854 var dict = BuildDictionary ( ) ;
55+
4956 byte [ ] compressed ;
50- using ( var compressor = new Compressor ( new CompressionOptions ( dict ) ) )
57+ using ( var options = new CompressionOptions ( dict ) )
58+ using ( var compressor = new Compressor ( options ) )
5159 compressed = compressor . Wrap ( data ) ;
5260
5361 using ( var decompressor = new Decompressor ( ) )
@@ -59,12 +67,16 @@ public void DecompressWithAnotherDictionary_throwsZstdException()
5967 {
6068 var data = GenerateSample ( ) ;
6169 var oldDict = BuildDictionary ( ) ;
70+
6271 byte [ ] compressed ;
63- using ( var compressor = new Compressor ( new CompressionOptions ( oldDict ) ) )
72+ using ( var options = new CompressionOptions ( oldDict ) )
73+ using ( var compressor = new Compressor ( options ) )
6474 compressed = compressor . Wrap ( data ) ;
75+
6576 var newDict = Encoding . ASCII . GetBytes ( "zstd supports raw-content dictionaries" ) ;
6677
67- using ( var decompressor = new Decompressor ( new DecompressionOptions ( newDict ) ) )
78+ using ( var options = new DecompressionOptions ( newDict ) )
79+ using ( var decompressor = new Decompressor ( options ) )
6880 Assert . Throws < ZstdException > ( ( ) => decompressor . Unwrap ( compressed ) ) ;
6981 }
7082
@@ -88,7 +100,9 @@ public void Compress_worksBetter_withDictionary()
88100 byte [ ] compressedWithoutDict , compressedWithDict ;
89101 using ( var compressor = new Compressor ( ) )
90102 compressedWithoutDict = compressor . Wrap ( data ) ;
91- using ( var compressor = new Compressor ( new CompressionOptions ( BuildDictionary ( ) ) ) )
103+
104+ using ( var options = new CompressionOptions ( BuildDictionary ( ) ) )
105+ using ( var compressor = new Compressor ( options ) )
92106 compressedWithDict = compressor . Wrap ( data ) ;
93107
94108 Assert . Greater ( compressedWithoutDict . Length , compressedWithDict . Length ) ;
@@ -100,7 +114,8 @@ public void Decompress_throwsZstdException_onInvalidData([Values(false, true)] b
100114 var data = GenerateSample ( ) ; // This isn't data in compressed format
101115 var dict = useDictionary ? BuildDictionary ( ) : null ;
102116
103- using ( var decompressor = new Decompressor ( new DecompressionOptions ( dict ) ) )
117+ using ( var options = new DecompressionOptions ( dict ) )
118+ using ( var decompressor = new Decompressor ( options ) )
104119 Assert . Throws < ZstdException > ( ( ) => decompressor . Unwrap ( data ) ) ;
105120 }
106121
@@ -109,12 +124,14 @@ public void Decompress_throwsZstdException_onMalformedDecompressedSize([Values(f
109124 {
110125 var data = GenerateSample ( ) ;
111126 var dict = useDictionary ? BuildDictionary ( ) : null ;
127+
112128 byte [ ] compressed ;
113- using ( var compressor = new Compressor ( new CompressionOptions ( dict ) ) )
129+ using ( var options = new CompressionOptions ( dict ) )
130+ using ( var compressor = new Compressor ( options ) )
114131 compressed = compressor . Wrap ( data ) ;
115132
116133 var frameHeader = compressed [ 4 ] ; // Ensure that we malform decompressed size in the right place
117- if ( useDictionary )
134+ if ( useDictionary )
118135 {
119136 Assert . AreEqual ( frameHeader , 0x63 ) ;
120137 compressed [ 9 ] -- ;
@@ -124,8 +141,10 @@ public void Decompress_throwsZstdException_onMalformedDecompressedSize([Values(f
124141 Assert . AreEqual ( frameHeader , 0x60 ) ;
125142 compressed [ 5 ] -- ;
126143 }
144+
127145 // Thus, ZSTD_getDecompressedSize will return size that is one byte lesser than actual
128- using ( var decompressor = new Decompressor ( new DecompressionOptions ( dict ) ) )
146+ using ( var options = new DecompressionOptions ( dict ) )
147+ using ( var decompressor = new Decompressor ( options ) )
129148 Assert . Throws < ZstdException > ( ( ) => decompressor . Unwrap ( compressed ) ) ;
130149 }
131150
@@ -134,11 +153,14 @@ public void Decompress_throwsArgumentOutOfRangeException_onTooBigData([Values(fa
134153 {
135154 var data = GenerateSample ( ) ;
136155 var dict = useDictionary ? BuildDictionary ( ) : null ;
156+
137157 byte [ ] compressed ;
138- using ( var compressor = new Compressor ( new CompressionOptions ( dict ) ) )
158+ using ( var options = new CompressionOptions ( dict ) )
159+ using ( var compressor = new Compressor ( options ) )
139160 compressed = compressor . Wrap ( data ) ;
140161
141- using ( var decompressor = new Decompressor ( new DecompressionOptions ( dict ) ) )
162+ using ( var options = new DecompressionOptions ( dict ) )
163+ using ( var decompressor = new Decompressor ( options ) )
142164 Assert . Throws < ArgumentOutOfRangeException > ( ( ) => decompressor . Unwrap ( compressed , 20 ) ) ;
143165 }
144166
@@ -150,12 +172,15 @@ public void Compress_canRead_fromArraySegment([Values(false, true)] bool useDict
150172 var dict = useDictionary ? BuildDictionary ( ) : null ;
151173
152174 byte [ ] compressed ;
153- using ( var compressor = new Compressor ( new CompressionOptions ( dict ) ) )
175+ using ( var options = new CompressionOptions ( dict ) )
176+ using ( var compressor = new Compressor ( options ) )
154177 compressed = compressor . Wrap ( segment ) ;
155178
156179 byte [ ] decompressed ;
157- using ( var decompressor = new Decompressor ( new DecompressionOptions ( dict ) ) )
180+ using ( var options = new DecompressionOptions ( dict ) )
181+ using ( var decompressor = new Decompressor ( options ) )
158182 decompressed = decompressor . Unwrap ( compressed ) ;
183+
159184 CollectionAssert . AreEqual ( segment , decompressed ) ;
160185 }
161186
@@ -164,15 +189,18 @@ public void Decompress_canRead_fromArraySegment([Values(false, true)] bool useDi
164189 {
165190 var data = GenerateSample ( ) ;
166191 var dict = useDictionary ? BuildDictionary ( ) : null ;
192+
167193 byte [ ] compressed ;
168- using ( var compressor = new Compressor ( new CompressionOptions ( dict ) ) )
194+ using ( var options = new CompressionOptions ( dict ) )
195+ using ( var compressor = new Compressor ( options ) )
169196 compressed = compressor . Wrap ( data ) ;
170- compressed = new byte [ ] { 1 , 2 } . Concat ( compressed ) . Concat ( new byte [ ] { 4 , 5 , 6 } )
171- . ToArray ( ) ;
197+
198+ compressed = new byte [ ] { 1 , 2 } . Concat ( compressed ) . Concat ( new byte [ ] { 4 , 5 , 6 } ) . ToArray ( ) ;
172199 var segment = new ArraySegment < byte > ( compressed , 2 , compressed . Length - 5 ) ;
173200
174201 byte [ ] decompressed ;
175- using ( var decompressor = new Decompressor ( new DecompressionOptions ( dict ) ) )
202+ using ( var options = new DecompressionOptions ( dict ) )
203+ using ( var decompressor = new Decompressor ( options ) )
176204 decompressed = decompressor . Unwrap ( segment ) ;
177205
178206 CollectionAssert . AreEqual ( data , decompressed ) ;
@@ -187,12 +215,15 @@ public void Compress_canWrite_toGivenBuffer([Values(false, true)] bool useDictio
187215 const int offset = 54 ;
188216
189217 int compressedSize ;
190- using ( var compressor = new Compressor ( new CompressionOptions ( dict ) ) )
218+ using ( var options = new CompressionOptions ( dict ) )
219+ using ( var compressor = new Compressor ( options ) )
191220 compressedSize = compressor . Wrap ( data , compressed , offset ) ;
192221
193222 byte [ ] decompressed ;
194- using ( var decompressor = new Decompressor ( new DecompressionOptions ( dict ) ) )
223+ using ( var options = new DecompressionOptions ( dict ) )
224+ using ( var decompressor = new Decompressor ( options ) )
195225 decompressed = decompressor . Unwrap ( compressed . Skip ( offset ) . Take ( compressedSize ) . ToArray ( ) ) ;
226+
196227 CollectionAssert . AreEqual ( data , decompressed ) ;
197228 }
198229
@@ -201,14 +232,18 @@ public void Decompress_canWrite_toGivenBuffer([Values(false, true)] bool useDict
201232 {
202233 var data = GenerateSample ( ) ;
203234 var dict = useDictionary ? BuildDictionary ( ) : null ;
235+
204236 byte [ ] compressed ;
205- using ( var compressor = new Compressor ( new CompressionOptions ( dict ) ) )
237+ using ( var options = new CompressionOptions ( dict ) )
238+ using ( var compressor = new Compressor ( options ) )
206239 compressed = compressor . Wrap ( data ) ;
240+
207241 var decompressed = new byte [ 1000 ] ;
208242 const int offset = 54 ;
209243
210244 int decompressedSize ;
211- using ( var decompressor = new Decompressor ( new DecompressionOptions ( dict ) ) )
245+ using ( var options = new DecompressionOptions ( dict ) )
246+ using ( var decompressor = new Decompressor ( options ) )
212247 decompressedSize = decompressor . Unwrap ( compressed , decompressed , offset ) ;
213248
214249 CollectionAssert . AreEqual ( data , decompressed . Skip ( offset ) . Take ( decompressedSize ) ) ;
@@ -222,7 +257,8 @@ public void Compress_throwsInsufficientMemoryException_whenDestinationBufferIsTo
222257 var compressed = new byte [ 20 ] ;
223258 const int offset = 4 ;
224259
225- using ( var compressor = new Compressor ( new CompressionOptions ( dict ) ) )
260+ using ( var options = new CompressionOptions ( dict ) )
261+ using ( var compressor = new Compressor ( options ) )
226262 Assert . Throws < InsufficientMemoryException > ( ( ) => compressor . Wrap ( data , compressed , offset ) ) ;
227263 }
228264
@@ -231,13 +267,17 @@ public void Decompress_throwsInsufficientMemoryException_whenDestinationBufferIs
231267 {
232268 var data = GenerateSample ( ) ;
233269 var dict = useDictionary ? BuildDictionary ( ) : null ;
270+
234271 byte [ ] compressed ;
235- using ( var compressor = new Compressor ( new CompressionOptions ( dict ) ) )
272+ using ( var options = new CompressionOptions ( dict ) )
273+ using ( var compressor = new Compressor ( options ) )
236274 compressed = compressor . Wrap ( data ) ;
275+
237276 var decompressed = new byte [ 20 ] ;
238277 const int offset = 4 ;
239278
240- using ( var decompressor = new Decompressor ( new DecompressionOptions ( dict ) ) )
279+ using ( var options = new DecompressionOptions ( dict ) )
280+ using ( var decompressor = new Decompressor ( options ) )
241281 Assert . Throws < InsufficientMemoryException > ( ( ) => decompressor . Unwrap ( compressed , decompressed , offset ) ) ;
242282 }
243283
@@ -248,10 +288,13 @@ public void CompressAndDecompress_workCorrectly_onEmptyBuffer([Values(false, tru
248288 var dict = useDictionary ? BuildDictionary ( ) : null ;
249289
250290 byte [ ] compressed ;
251- using ( var compressor = new Compressor ( new CompressionOptions ( dict ) ) )
291+ using ( var options = new CompressionOptions ( dict ) )
292+ using ( var compressor = new Compressor ( options ) )
252293 compressed = compressor . Wrap ( data ) ;
294+
253295 byte [ ] decompressed ;
254- using ( var decompressor = new Decompressor ( new DecompressionOptions ( dict ) ) )
296+ using ( var options = new DecompressionOptions ( dict ) )
297+ using ( var decompressor = new Decompressor ( options ) )
255298 decompressed = decompressor . Unwrap ( compressed ) ;
256299
257300 CollectionAssert . AreEqual ( data , decompressed ) ;
@@ -264,10 +307,13 @@ public void CompressAndDecompress_workCorrectly_onOneByteBuffer([Values(false, t
264307 var dict = useDictionary ? BuildDictionary ( ) : null ;
265308
266309 byte [ ] compressed ;
267- using ( var compressor = new Compressor ( new CompressionOptions ( dict ) ) )
310+ using ( var options = new CompressionOptions ( dict ) )
311+ using ( var compressor = new Compressor ( options ) )
268312 compressed = compressor . Wrap ( data ) ;
313+
269314 byte [ ] decompressed ;
270- using ( var decompressor = new Decompressor ( new DecompressionOptions ( dict ) ) )
315+ using ( var options = new DecompressionOptions ( dict ) )
316+ using ( var decompressor = new Decompressor ( options ) )
271317 decompressed = decompressor . Unwrap ( compressed ) ;
272318
273319 CollectionAssert . AreEqual ( data , decompressed ) ;
@@ -277,10 +323,12 @@ public void CompressAndDecompress_workCorrectly_onOneByteBuffer([Values(false, t
277323 public void CompressAndDecompress_workCorrectly_onArraysOfDifferentSizes ( [ Values ( false , true ) ] bool useDictionary )
278324 {
279325 var dict = useDictionary ? BuildDictionary ( ) : null ;
280- using ( var compressor = new Compressor ( new CompressionOptions ( dict ) ) )
281- using ( var decompressor = new Decompressor ( new DecompressionOptions ( dict ) ) )
326+ using ( var compressionOptions = new CompressionOptions ( dict ) )
327+ using ( var decompressionOptions = new DecompressionOptions ( dict ) )
328+ using ( var compressor = new Compressor ( compressionOptions ) )
329+ using ( var decompressor = new Decompressor ( decompressionOptions ) )
282330 {
283- for ( var i = 2 ; i < 100000 ; i += 3000 )
331+ for ( var i = 2 ; i < 100000 ; i += 3000 )
284332 {
285333 var data = GenerateBuffer ( i ) ;
286334
@@ -295,25 +343,25 @@ public void CompressAndDecompress_workCorrectly_onArraysOfDifferentSizes([Values
295343 public void CompressAndDecompress_workCorrectly_ifDifferentInstancesRunInDifferentThreads ( [ Values ( false , true ) ] bool useDictionary )
296344 {
297345 var dict = useDictionary ? BuildDictionary ( ) : null ;
298- var compressionOptions = new CompressionOptions ( dict ) ;
299- var decompressionOptions = new DecompressionOptions ( dict ) ;
300- Enumerable . Range ( 0 , 100 )
301- . AsParallel ( ) . WithDegreeOfParallelism ( 50 )
302- . ForAll ( _ =>
303- {
304- using ( var compressor = new Compressor ( compressionOptions ) )
305- using ( var decompressor = new Decompressor ( decompressionOptions ) )
346+ using ( var compressionOptions = new CompressionOptions ( dict ) )
347+ using ( var decompressionOptions = new DecompressionOptions ( dict ) )
348+ Enumerable . Range ( 0 , 100 )
349+ . AsParallel ( ) . WithDegreeOfParallelism ( 50 )
350+ . ForAll ( _ =>
306351 {
307- for ( var i = 2 ; i < 100000 ; i += 30000 )
352+ using ( var compressor = new Compressor ( compressionOptions ) )
353+ using ( var decompressor = new Decompressor ( decompressionOptions ) )
308354 {
309- var data = GenerateBuffer ( i ) ;
355+ for ( var i = 2 ; i < 100000 ; i += 30000 )
356+ {
357+ var data = GenerateBuffer ( i ) ;
310358
311- var decompressed = decompressor . Unwrap ( compressor . Wrap ( data ) ) ;
359+ var decompressed = decompressor . Unwrap ( compressor . Wrap ( data ) ) ;
312360
313- CollectionAssert . AreEqual ( data , decompressed ) ;
361+ CollectionAssert . AreEqual ( data , decompressed ) ;
362+ }
314363 }
315- }
316- } ) ;
364+ } ) ;
317365 }
318366
319367 private static byte [ ] BuildDictionary ( )
0 commit comments