#[cfg(test)]
mod tests {
use std::fs::{self, File};
use qua_format::*;
#[test]
fn test_read() {
let path = "./map_files/1416.qua";
let qua = Qua::from_file(path).expect("Could not parse qua");
assert_eq!("Csikos Post", qua.title);
assert_eq!("zetoban", qua.artist);
assert_eq!(1416, qua.map_id);
assert_eq!(1, qua.timing_points.len());
assert_eq!(0., qua.timing_points[0].start_time);
assert_eq!(167, qua.hit_objects.len());
assert_eq!(0, qua.hit_objects[0].start_time); assert_eq!(1, qua.hit_objects[0].lane);
assert!(!qua.bpm_does_not_affect_scroll_velocity);
assert_eq!(4, qua.game_mode.get_key_count());
}
#[test]
fn test_write() {
let qua = Qua {
title: "Freedom Dive".to_string(),
artist: "xi".to_string(),
..Default::default()
};
let new_path = "test.qua";
let new_file = File::create(&new_path).expect("Could not create new file");
qua.to_writer(new_file).expect("Could not write to file");
fs::remove_file(&new_path).expect("Could not remove file");
}
#[test]
fn test_read_write() {
let path = "./map_files/1416.qua";
let mut qua = Qua::from_file(path).expect("Could not parse qua");
qua.title = "Freedom Dive".to_string();
let new_path = "test.qua";
let new_file = File::create(&new_path).expect("Could not create new file");
qua.to_writer(new_file).expect("Could not write to file");
fs::remove_file(&new_path).expect("Could not remove file");
}
}