use crate::presentation_mutation_generation::PresentationMutationGeneration;
use crate::redraw_sync_generation::RedrawSyncGeneration;
use crate::terminal_history_generation::TerminalHistoryGeneration;
#[test]
fn terminal_history_generation_wraps_at_maximum() {
let mut generation = TerminalHistoryGeneration::new(u64::MAX);
generation.advance();
assert_eq!(generation, TerminalHistoryGeneration::default());
}
#[test]
fn presentation_mutation_generation_wraps_at_maximum() {
let mut generation = PresentationMutationGeneration::new(u64::MAX);
generation.advance();
assert_eq!(generation, PresentationMutationGeneration::default());
}
#[test]
#[cfg(debug_assertions)]
#[should_panic]
fn redraw_sync_generation_panics_at_maximum_in_debug_builds() {
let mut generation = RedrawSyncGeneration::new(u64::MAX);
generation.advance();
}
#[test]
#[cfg(not(debug_assertions))]
fn redraw_sync_generation_wraps_at_maximum_without_debug_assertions() {
let mut generation = RedrawSyncGeneration::new(u64::MAX);
generation.advance();
assert_eq!(generation, RedrawSyncGeneration::default());
}