@@ -250,132 +250,7 @@ impl<'a> Compressor<'a> {
250
250
}
251
251
252
252
#[ cfg( test) ]
253
- mod level_tests {
254
- use crate :: compressor:: Level ;
255
- #[ test]
256
- fn new_produces_empty_level ( ) {
257
- let l = Level :: new ( 15 ) ;
258
- assert_eq ! ( l. max_length, 15 ) ;
259
- assert_eq ! ( l. current_chain_length, 0 ) ;
260
- assert_eq ! ( l. current, None ) ;
261
- }
262
-
263
- #[ test]
264
- fn update_adds_to_non_full_level ( ) {
265
- let mut l = Level :: new ( 10 ) ;
266
- l. update ( 7 , true ) ;
267
- assert_eq ! ( l. max_length, 10 ) ;
268
- assert_eq ! ( l. current_chain_length, 1 ) ;
269
- assert_eq ! ( l. current, Some ( 7 ) ) ;
270
- }
271
-
272
- #[ test]
273
- #[ should_panic( expected = "Tried to add to an already full level" ) ]
274
- fn update_panics_if_adding_and_too_full ( ) {
275
- let mut l = Level :: new ( 5 ) ;
276
- l. update ( 1 , true ) ;
277
- l. update ( 2 , true ) ;
278
- l. update ( 3 , true ) ;
279
- l. update ( 4 , true ) ;
280
- l. update ( 5 , true ) ;
281
- l. update ( 6 , true ) ;
282
- }
283
-
284
- #[ test]
285
- fn update_resets_level_correctly ( ) {
286
- let mut l = Level :: new ( 5 ) ;
287
- l. update ( 1 , true ) ;
288
- l. update ( 2 , true ) ;
289
- l. update ( 3 , true ) ;
290
- l. update ( 4 , true ) ;
291
- l. update ( 5 , true ) ;
292
- l. update ( 6 , false ) ;
293
- assert_eq ! ( l. max_length, 5 ) ;
294
- assert_eq ! ( l. current_chain_length, 1 ) ;
295
- assert_eq ! ( l. current, Some ( 6 ) ) ;
296
- }
297
-
298
- #[ test]
299
- fn get_current_returns_current ( ) {
300
- let mut l = Level :: new ( 5 ) ;
301
- assert_eq ! ( l. get_current( ) , None ) ;
302
- l. update ( 23 , true ) ;
303
- assert_eq ! ( l. get_current( ) , Some ( 23 ) ) ;
304
- }
305
-
306
- #[ test]
307
- fn has_space_returns_true_if_empty ( ) {
308
- let l = Level :: new ( 15 ) ;
309
- assert_eq ! ( l. has_space( ) , true ) ;
310
- }
311
-
312
- #[ test]
313
- fn has_space_returns_true_if_part_full ( ) {
314
- let mut l = Level :: new ( 15 ) ;
315
- l. update ( 12 , true ) ;
316
- l. update ( 234 , true ) ;
317
- l. update ( 1 , true ) ;
318
- l. update ( 143 , true ) ;
319
- l. update ( 15 , true ) ;
320
- assert_eq ! ( l. has_space( ) , true ) ;
321
- }
322
-
323
- #[ test]
324
- fn has_space_returns_false_if_full ( ) {
325
- let mut l = Level :: new ( 5 ) ;
326
- l. update ( 1 , true ) ;
327
- l. update ( 2 , true ) ;
328
- l. update ( 3 , true ) ;
329
- l. update ( 4 , true ) ;
330
- l. update ( 5 , true ) ;
331
- assert_eq ! ( l. has_space( ) , false ) ;
332
- }
333
- }
334
-
335
- #[ test]
336
- fn test_new_map ( ) {
337
- let mut initial: BTreeMap < i64 , StateGroupEntry > = BTreeMap :: new ( ) ;
338
-
339
- let mut prev = None ;
340
- for i in 0i64 ..=13i64 {
341
- initial. insert (
342
- i,
343
- StateGroupEntry {
344
- in_range : true ,
345
- prev_state_group : prev,
346
- state_map : StateMap :: new ( ) ,
347
- } ,
348
- ) ;
253
+ mod level_tests;
349
254
350
- prev = Some ( i)
351
- }
352
-
353
- let compressor = Compressor :: compress ( & initial, & [ 3 , 3 ] ) ;
354
-
355
- let new_state = compressor. new_state_group_map ;
356
-
357
- let expected_edges: BTreeMap < i64 , i64 > = vec ! [
358
- ( 1 , 0 ) ,
359
- ( 2 , 1 ) ,
360
- ( 4 , 3 ) ,
361
- ( 5 , 4 ) ,
362
- ( 6 , 3 ) ,
363
- ( 7 , 6 ) ,
364
- ( 8 , 7 ) ,
365
- ( 9 , 6 ) ,
366
- ( 10 , 9 ) ,
367
- ( 11 , 10 ) ,
368
- ( 13 , 12 ) ,
369
- ]
370
- . into_iter ( )
371
- . collect ( ) ;
372
-
373
- for sg in 0i64 ..=13i64 {
374
- assert_eq ! (
375
- expected_edges. get( & sg) . cloned( ) ,
376
- new_state[ & sg] . prev_state_group,
377
- "state group {} did not match expected" ,
378
- sg,
379
- ) ;
380
- }
381
- }
255
+ #[ cfg( test) ]
256
+ mod compressor_tests;
0 commit comments