@@ -404,22 +404,24 @@ mod tests {
404404 fn invert_selection_in_group_only_changes_groups_with_selection ( ) {
405405 let mut model = get_model_vec ( 7 ) ;
406406 model[ 1 ] . header_row = true ; // Group 1 header
407- // Group 1 (indices 0): items 0 - no selection initially
407+ // Group 1 (indices 0): item 0 - no selection initially
408408 model[ 2 ] . header_row = true ; // Group 2 header
409- // Group 2 (indices 1 ): items 2, 3 - item 2 selected
410- model[ 2 ] . checked = true ;
409+ // Group 2 (indices 3,4,5,6 ): items 3,4,5,6 - item 3 selected
410+ model[ 3 ] . checked = true ;
411411 let model = create_model_from_model_vec ( & model) ;
412412
413413 let ( checked_items, unchecked_items, new_model) = invert_selection_in_group ( & model) ;
414414
415415 // Group 1 has no selection, should remain unchanged
416416 assert ! ( !new_model. row_data( 0 ) . unwrap( ) . checked) ;
417- // Group 2 has selection, should invert: item 2 checked->unchecked, item 3 unchecked->checked
418- assert ! ( !new_model. row_data( 2 ) . unwrap( ) . checked) ;
419- assert ! ( new_model. row_data( 3 ) . unwrap( ) . checked) ;
420- // Verify counts
421- assert_eq ! ( checked_items, 1 ) ; // item 3 was unchecked, now checked
422- assert_eq ! ( unchecked_items, 1 ) ; // item 2 was checked, now unchecked
417+ // Group 2 has selection, should invert: item 3 checked->unchecked, others unchecked->checked
418+ assert ! ( !new_model. row_data( 3 ) . unwrap( ) . checked) ;
419+ assert ! ( new_model. row_data( 4 ) . unwrap( ) . checked) ;
420+ assert ! ( new_model. row_data( 5 ) . unwrap( ) . checked) ;
421+ assert ! ( new_model. row_data( 6 ) . unwrap( ) . checked) ;
422+ // Verify counts: 3 items flipped from unchecked to checked, 1 from checked to unchecked
423+ assert_eq ! ( checked_items, 3 ) ;
424+ assert_eq ! ( unchecked_items, 1 ) ;
423425 }
424426
425427 #[ test]
0 commit comments