use super::*;
#[test]
fn a_drawing_smaller_than_the_pane_has_no_offset() {
assert_eq!(recentre(0, 33, 7, 15), 0);
assert_eq!(recentre(0, 33, 15, 22), 0);
assert_eq!(recentre(0, 33, 30, 33), 0);
assert_eq!(recentre(0, 33, 0, 45), 0);
}
#[test]
fn growing_past_the_pane_centres_what_was_centred() {
assert_eq!(recentre(0, 33, 30, 45), 6);
assert_eq!(recentre(0, 33, 30, 60), 14);
}
#[test]
fn an_overflowing_drawing_keeps_the_middle_of_the_pane() {
assert_eq!(recentre(6, 33, 45, 60), 14);
assert_eq!(recentre(0, 33, 45, 60), 6);
assert_eq!(recentre(12, 33, 45, 60), 22);
}
#[test]
fn the_offset_never_runs_past_the_end() {
for before in [1usize, 7, 30, 45, 200] {
for after in [1usize, 7, 30, 45, 200] {
for offset in [0, 5, 100] {
let landed = recentre(offset, 33, before, after);
assert!(landed <= after.saturating_sub(33), "{before}->{after} from {offset}: {landed}");
}
}
}
}