()
| 566 | /// GDPR erasure takes precedence: ceiling does NOT contain A. |
| 567 | #[test] |
| 568 | fn gdpr_erasure_drops_cell_outright() { |
| 569 | let s = schema(); |
| 570 | let bytes = build_segment(vec![ |
| 571 | (TileId::new(0, 100), live_tile(&s, 1, 10)), |
| 572 | (TileId::new(0, 200), gdpr_tile(&s, 1)), |
| 573 | ]); |
| 574 | let reader = SegmentReader::open(&bytes).unwrap(); |
| 575 | let versions: Vec<TileEntry> = reader.tiles().to_vec(); |
| 576 | let result = merge_for_retention(&versions, &reader, &s, 300).unwrap(); |
| 577 | assert!( |
| 578 | result.ceiling_tile.is_none(), |
| 579 | "GdprErased newest version must suppress cell from ceiling" |
| 580 | ); |
| 581 | assert_eq!(result.cells_carried_forward, 0); |
| 582 | assert_eq!(result.dropped_tile_ids.len(), 2); |
| 583 | } |
| 584 | |
| 585 | // ── Test 7 ────────────────────────────────────────────────────────────── |
| 586 |
nothing calls this directly
no test coverage detected