fix(tests): restore coverage for toggle_group_collapse, item group, and insertion order

Rewrites three commented-out tests to access public fields directly
instead of the removed item_by_name/item_index/is_group_collapsed methods:
- add_item_in_group_sets_group: uses items.get()
- item_index_reflects_insertion_order: uses items.get_index_of()
- toggle_group_collapse_toggles_twice + involutive proptest: inspect collapsed_groups directly

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Edward Langley
2026-03-30 23:08:06 -07:00
parent c5eab1f283
commit 4fb97c89ed
2 changed files with 41 additions and 38 deletions

View File

@ -226,15 +226,18 @@ mod tests {
assert_eq!(v.page_selection("Region"), None);
}
// #[test]
// fn toggle_group_collapse_toggles_twice() {
// let mut v = View::new("Test");
// assert!(!v.is_group_collapsed("Time", "Q1"));
// v.toggle_group_collapse("Time", "Q1");
// assert!(v.is_group_collapsed("Time", "Q1"));
// v.toggle_group_collapse("Time", "Q1");
// assert!(!v.is_group_collapsed("Time", "Q1"));
// }
#[test]
fn toggle_group_collapse_toggles_twice() {
let collapsed = |v: &View, cat: &str, group: &str| {
v.collapsed_groups.get(cat).map(|s| s.contains(group)).unwrap_or(false)
};
let mut v = View::new("Test");
assert!(!collapsed(&v, "Time", "Q1"));
v.toggle_group_collapse("Time", "Q1");
assert!(collapsed(&v, "Time", "Q1"));
v.toggle_group_collapse("Time", "Q1");
assert!(!collapsed(&v, "Time", "Q1"));
}
#[test]
fn hide_and_show_item() {
@ -407,17 +410,18 @@ mod prop_tests {
// prop_assert!(!v.is_hidden(&cat, &item));
}
// /// toggle_group_collapse is its own inverse
// #[test]
// fn toggle_group_collapse_involutive(
// cat in "[A-Za-z][a-z]{1,7}",
// group in "[A-Za-z][a-z]{1,7}",
// ) {
// let mut v = View::new("T");
// let initial = v.is_group_collapsed(&cat, &group);
// v.toggle_group_collapse(&cat, &group);
// v.toggle_group_collapse(&cat, &group);
// prop_assert_eq!(v.is_group_collapsed(&cat, &group), initial);
// }
/// toggle_group_collapse is its own inverse
#[test]
fn toggle_group_collapse_involutive(
cat in "[A-Za-z][a-z]{1,7}",
group in "[A-Za-z][a-z]{1,7}",
) {
let mut v = View::new("T");
let collapsed = |v: &View| v.collapsed_groups.get(&cat).map(|s| s.contains(&group as &str)).unwrap_or(false);
let initial = collapsed(&v);
v.toggle_group_collapse(&cat, &group);
v.toggle_group_collapse(&cat, &group);
prop_assert_eq!(collapsed(&v), initial);
}
}
}