#[cfg(test)]
mod tests {
use crate::checkpoints::{ParsedRewindTarget, parse_rewind_target};
#[test]
fn parse_rewind_target_matrix() {
assert_eq!(
parse_rewind_target(None).unwrap(),
ParsedRewindTarget::NeedsSelection
);
assert_eq!(
parse_rewind_target(Some("3")).unwrap(),
ParsedRewindTarget::Target {
target_turn: 3,
dry_run: false
}
);
assert_eq!(
parse_rewind_target(Some("--to 3 --dry-run")).unwrap(),
ParsedRewindTarget::Target {
target_turn: 3,
dry_run: true
}
);
assert!(parse_rewind_target(Some("0")).is_err());
assert!(parse_rewind_target(Some("-1")).is_err());
assert!(parse_rewind_target(Some("1..2")).is_err());
assert!(parse_rewind_target(Some("--to")).is_err());
assert!(parse_rewind_target(Some("1 2")).is_err());
}
}