refactor: Updated all model tests to use purpose-built assertions to improve readability and maintainability

This commit is contained in:
2025-12-09 14:29:35 -07:00
parent d4bea91186
commit b51e42b4b2
7 changed files with 140 additions and 147 deletions
+19 -19
View File
@@ -2,25 +2,25 @@
mod tests {
use crate::models::Scrollable;
use crate::models::stateful_list::StatefulList;
use pretty_assertions::{assert_eq, assert_str_eq};
use pretty_assertions::assert_str_eq;
#[test]
fn test_stateful_list_scrolling_on_empty_list_performs_no_op() {
let mut stateful_list: StatefulList<String> = StatefulList::default();
assert_eq!(stateful_list.state.selected(), None);
assert_none!(stateful_list.state.selected());
stateful_list.scroll_up();
assert_eq!(stateful_list.state.selected(), None);
assert_none!(stateful_list.state.selected());
stateful_list.scroll_down();
assert_eq!(stateful_list.state.selected(), None);
assert_none!(stateful_list.state.selected());
stateful_list.scroll_to_top();
assert_eq!(stateful_list.state.selected(), None);
assert_none!(stateful_list.state.selected());
stateful_list.scroll_to_bottom();
}
@@ -29,31 +29,31 @@ mod tests {
fn test_stateful_list_scroll() {
let mut stateful_list = create_test_stateful_list();
assert_eq!(stateful_list.state.selected(), Some(0));
assert_some_eq_x!(stateful_list.state.selected(), 0);
stateful_list.scroll_down();
assert_eq!(stateful_list.state.selected(), Some(1));
assert_some_eq_x!(stateful_list.state.selected(), 1);
stateful_list.scroll_down();
assert_eq!(stateful_list.state.selected(), Some(0));
assert_some_eq_x!(stateful_list.state.selected(), 0);
stateful_list.scroll_up();
assert_eq!(stateful_list.state.selected(), Some(1));
assert_some_eq_x!(stateful_list.state.selected(), 1);
stateful_list.scroll_up();
assert_eq!(stateful_list.state.selected(), Some(0));
assert_some_eq_x!(stateful_list.state.selected(), 0);
stateful_list.scroll_to_bottom();
assert_eq!(stateful_list.state.selected(), Some(1));
assert_some_eq_x!(stateful_list.state.selected(), 1);
stateful_list.scroll_to_top();
assert_eq!(stateful_list.state.selected(), Some(0));
assert_some_eq_x!(stateful_list.state.selected(), 0);
}
#[test]
@@ -63,17 +63,17 @@ mod tests {
stateful_list.set_items(items_vec.clone());
assert_eq!(stateful_list.state.selected(), Some(0));
assert_some_eq_x!(stateful_list.state.selected(), 0);
stateful_list.state.select(Some(1));
stateful_list.set_items(items_vec.clone());
assert_eq!(stateful_list.state.selected(), Some(1));
assert_some_eq_x!(stateful_list.state.selected(), 1);
stateful_list.state.select(Some(3));
stateful_list.set_items(items_vec);
assert_eq!(stateful_list.state.selected(), Some(2));
assert_some_eq_x!(stateful_list.state.selected(), 2);
}
#[test]
@@ -91,15 +91,15 @@ mod tests {
fn test_stateful_list_scroll_up() {
let mut stateful_list = create_test_stateful_list();
assert_eq!(stateful_list.state.selected(), Some(0));
assert_some_eq_x!(stateful_list.state.selected(), 0);
stateful_list.scroll_up();
assert_eq!(stateful_list.state.selected(), Some(1));
assert_some_eq_x!(stateful_list.state.selected(), 1);
stateful_list.scroll_up();
assert_eq!(stateful_list.state.selected(), Some(0));
assert_some_eq_x!(stateful_list.state.selected(), 0);
}
#[test]
@@ -110,7 +110,7 @@ mod tests {
stateful_list = StatefulList::default();
assert!(stateful_list.is_empty());
assert_is_empty!(stateful_list);
}
fn create_test_stateful_list() -> StatefulList<&'static str> {