extern crate glob;
use wfdb_rust::parse_wfdb;
fn get_signal_checksum(signal: &[i16]) -> i16 {
let mut checksum = 0_i16;
for val in signal {
checksum = checksum.wrapping_add(*val);
}
checksum
}
#[test]
fn parse_mit_dataset() {
let mit_header_files = glob::glob("data/mit-bih-arrhythmia-database-1.0.0/*.hea").expect("Failed to read glob");
for header_file in mit_header_files {
if let Ok(path) = header_file {
println!("Reading {:?}", path);
let (header, signals) = parse_wfdb(&path);
for i in 0..signals.len() {
assert_eq!(header.signal_specs[i].checksum, Some(get_signal_checksum(&signals[i])));
}
}
}
}