mirror of
https://github.com/dnlbauer/xdrfile.git
synced 2026-09-11 06:35:30 +00:00
test outofrange error
This commit is contained in:
29
src/lib.rs
29
src/lib.rs
@@ -835,4 +835,33 @@ mod tests {
|
|||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_write_outofrange_step() -> Result<(), Box<dyn std::error::Error>> {
|
||||||
|
let tempfile = NamedTempFile::new()?;
|
||||||
|
let tmp_path = tempfile.path();
|
||||||
|
let mut traj = XTCTrajectory::open_write(tmp_path)?;
|
||||||
|
|
||||||
|
let frame = Frame {
|
||||||
|
step: usize::MAX,
|
||||||
|
time: 0.0,
|
||||||
|
box_vector: [[0.0; 3]; 3],
|
||||||
|
coords: vec![[1.0; 3]],
|
||||||
|
};
|
||||||
|
let expected = Error::OutOfRange {
|
||||||
|
name: "frame.step",
|
||||||
|
value: usize::MAX.to_string(),
|
||||||
|
target: "i32",
|
||||||
|
task: ErrorTask::Write,
|
||||||
|
};
|
||||||
|
|
||||||
|
if let Err(e) = traj.write(&frame) {
|
||||||
|
print!("{:?}", e);
|
||||||
|
assert_eq!(expected, e);
|
||||||
|
} else {
|
||||||
|
panic!("Writing frame with step=usize::MAX should not succeed.")
|
||||||
|
}
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user