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:
@ -146,13 +146,12 @@ mod tests {
|
||||
assert_eq!(c.items.len(), 1);
|
||||
}
|
||||
|
||||
// #[test]
|
||||
// fn add_item_in_group_sets_group() {
|
||||
// let mut c = cat();
|
||||
// c.add_item_in_group("Jan", "Q1");
|
||||
// let item = c.item_by_name("Jan").unwrap();
|
||||
// assert_eq!(item.group.as_deref(), Some("Q1"));
|
||||
// }
|
||||
#[test]
|
||||
fn add_item_in_group_sets_group() {
|
||||
let mut c = cat();
|
||||
c.add_item_in_group("Jan", "Q1");
|
||||
assert_eq!(c.items.get("Jan").and_then(|i| i.group.as_deref()), Some("Q1"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn add_item_in_group_duplicate_returns_same_id() {
|
||||
@ -181,14 +180,14 @@ mod tests {
|
||||
// assert_eq!(groups, vec!["Q1", "Q2"]);
|
||||
// }
|
||||
|
||||
// #[test]
|
||||
// fn item_index_reflects_insertion_order() {
|
||||
// let mut c = cat();
|
||||
// c.add_item("East");
|
||||
// c.add_item("West");
|
||||
// c.add_item("North");
|
||||
// assert_eq!(c.item_index("East"), Some(0));
|
||||
// assert_eq!(c.item_index("West"), Some(1));
|
||||
// assert_eq!(c.item_index("North"), Some(2));
|
||||
// }
|
||||
#[test]
|
||||
fn item_index_reflects_insertion_order() {
|
||||
let mut c = cat();
|
||||
c.add_item("East");
|
||||
c.add_item("West");
|
||||
c.add_item("North");
|
||||
assert_eq!(c.items.get_index_of("East"), Some(0));
|
||||
assert_eq!(c.items.get_index_of("West"), Some(1));
|
||||
assert_eq!(c.items.get_index_of("North"), Some(2));
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user