@@ -273,7 +273,21 @@ mod testing {
273273 }
274274
275275 #[ test]
276- fn test_parallel_processor_out_of_range ( ) {
276+ fn test_parallel_processor_out_of_range_start ( ) {
277+ for ext in [ "bq" , "vbq" , "cbq" ] {
278+ eprintln ! ( "Testing {}" , ext) ;
279+ let reader = BinseqReader :: new ( & format ! ( "./data/subset.{}" , ext) ) . unwrap ( ) ;
280+ let processor = TestProcessor :: default ( ) ;
281+ assert ! (
282+ reader
283+ . process_parallel_range( processor, 0 , 1_000_000 ..1_000_001 )
284+ . is_err( )
285+ ) ;
286+ }
287+ }
288+
289+ #[ test]
290+ fn test_parallel_processor_out_of_range_end ( ) {
277291 for ext in [ "bq" , "vbq" , "cbq" ] {
278292 eprintln ! ( "Testing {}" , ext) ;
279293 let reader = BinseqReader :: new ( & format ! ( "./data/subset.{}" , ext) ) . unwrap ( ) ;
@@ -285,4 +299,43 @@ mod testing {
285299 ) ;
286300 }
287301 }
302+
303+ #[ test]
304+ fn test_parallel_processor_backwards_range ( ) {
305+ for ext in [ "bq" , "vbq" , "cbq" ] {
306+ eprintln ! ( "Testing {}" , ext) ;
307+ let reader = BinseqReader :: new ( & format ! ( "./data/subset.{}" , ext) ) . unwrap ( ) ;
308+ let processor = TestProcessor :: default ( ) ;
309+ assert ! ( reader. process_parallel_range( processor, 0 , 100 ..0 ) . is_err( ) ) ;
310+ }
311+ }
312+
313+ #[ test]
314+ fn test_set_decode_block ( ) {
315+ for ext in [ "bq" , "vbq" , "cbq" ] {
316+ for opt in [ true , false ] {
317+ eprintln ! ( "Testing {} - decode {}" , ext, opt) ;
318+ let mut reader = BinseqReader :: new ( & format ! ( "./data/subset.{}" , ext) ) . unwrap ( ) ;
319+ reader. set_decode_block ( opt) ;
320+ let num_records = reader. num_records ( ) . unwrap ( ) ;
321+ let processor = TestProcessor :: default ( ) ;
322+ assert ! ( reader. process_parallel( processor. clone( ) , 0 ) . is_ok( ) ) ;
323+ assert_eq ! ( * processor. n_records. lock( ) , num_records) ;
324+ }
325+ }
326+ }
327+
328+ #[ test]
329+ fn test_set_default_quality_score ( ) {
330+ for ext in [ "bq" , "vbq" , "cbq" ] {
331+ let default_score = b'#' ;
332+ eprintln ! ( "Testing {} - default score: {}" , ext, default_score) ;
333+ let mut reader = BinseqReader :: new ( & format ! ( "./data/subset.{}" , ext) ) . unwrap ( ) ;
334+ reader. set_default_quality_score ( default_score) ;
335+ let num_records = reader. num_records ( ) . unwrap ( ) ;
336+ let processor = TestProcessor :: default ( ) ;
337+ assert ! ( reader. process_parallel( processor. clone( ) , 0 ) . is_ok( ) ) ;
338+ assert_eq ! ( * processor. n_records. lock( ) , num_records) ;
339+ }
340+ }
288341}
0 commit comments