@@ -250,132 +250,7 @@ impl<'a> Compressor<'a> {
250250}
251251
252252#[ 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;
349254
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