@@ -29,7 +29,8 @@ use base_sequence_compression::{compress_sequence, decompress_sequence};
2929fn main () {
3030 let dna_sequence = " ACGTACGTACGT" ;
3131 let compressed = compress_sequence (dna_sequence );
32- let decompressed = decompress_sequence (& compressed );
32+ let sequence_length = dna_sequence . len ();
33+ let decompressed = decompress_sequence (& compressed , sequence_length ). unwrap ();
3334
3435 assert_eq! (dna_sequence , decompressed );
3536 println! (" Compression successful!" );
@@ -54,11 +55,12 @@ pub fn compress_sequence(sequence: &str) -> Vec<u8>
5455Decompresses binary data back into the original DNA sequence .
5556
5657```rust
57- pub fn decompress_sequence (compressed : & [u8 ]) -> String
58+ pub fn decompress_sequence (compressed : & [u8 ], sequence_length : usize ) -> io :: Result < String > {
5859```
5960
6061- ** Input** : ` &[u8] ` - The compressed binary data.
61- - * * Output ** : `String ` - The decompressed DNA sequence .
62+ - ** Input** : ` usize ` - The length of the original DNA sequence.
63+ - ** Output** : ` io::Result<String> ` - The decompressed DNA sequence.
6264
6365## Tests
6466
@@ -83,7 +85,8 @@ Here's an example test that checks the compression and decompression of a DNA se
8385fn test_compress_decompress () {
8486 let dna_sequence = " ACGTACGTACGT" ;
8587 let compressed = compress_sequence (dna_sequence );
86- let decompressed = decompress_sequence (& compressed );
88+ let sequence_length = dna_sequence . len ();
89+ let decompressed = decompress_sequence (& compressed , sequence_length ). unwrap ();
8790
8891 assert_eq! (dna_sequence , decompressed );
8992}
0 commit comments