@@ -196,6 +196,35 @@ fn test_fastq_recset() {
196
196
}
197
197
}
198
198
199
+ #[ test]
200
+ fn test_fastq_read_record_set_limited ( ) {
201
+ for max_records in 3 ..10 {
202
+ let mut fastq_vec: Vec < u8 > = Vec :: with_capacity ( FASTQ . len ( ) * max_records) ;
203
+ for i in 0 ..max_records {
204
+ println ! ( "i: {i} max_records: {max_records}" ) ;
205
+ fastq_vec. extend_from_slice ( FASTQ ) ;
206
+ }
207
+
208
+ let mut reader = Reader :: new ( & fastq_vec[ ..] ) ;
209
+ let mut rset = RecordSet :: default ( ) ;
210
+ reader. read_record_set_limited ( & mut rset, max_records) ;
211
+ assert_eq ! ( rset. len( ) , max_records) ;
212
+
213
+ let mut rset_iter = rset. into_iter ( ) ;
214
+ let mut reader = Reader :: new ( & fastq_vec[ ..] ) ;
215
+
216
+ for _ in 0 ..max_records {
217
+ let r0 = reader. next ( ) . unwrap ( ) . unwrap ( ) ;
218
+ let rec = rset_iter. next ( ) . unwrap ( ) ;
219
+ assert_eq ! ( rec. id( ) , r0. id( ) ) ;
220
+ assert_eq ! ( rec. desc( ) , r0. desc( ) ) ;
221
+ assert_eq ! ( rec. head( ) , r0. head( ) ) ;
222
+ assert_eq ! ( rec. seq( ) , r0. seq( ) ) ;
223
+ assert_eq ! ( rec. qual( ) , r0. qual( ) ) ;
224
+ }
225
+ }
226
+ }
227
+
199
228
#[ test]
200
229
fn test_fastq_parallel ( ) {
201
230
for cap in 3 ..400 {
0 commit comments