use crate::testkit;
#[test]
fn values_relocate_under_sigma_over_corpus() {
for case in testkit::corpus() {
if !case.ironcalc_faithful {
continue;
}
for edit in &case.faithful_edits {
let (output, report) = testkit::transform(&case.bytes, edit).unwrap();
if !report.residuals.is_empty() {
continue; }
if let Err(d) = testkit::value_faithful(&case.bytes, edit, &output) {
panic!(
"{}: edit {:?} is not value-faithful: {}",
case.name, edit, d.0
);
}
}
}
}
#[test]
fn value_differential_detects_a_mis_shift() {
let corpus = testkit::corpus();
let case = corpus
.iter()
.find(|c| c.name == "sum_band.xlsx")
.expect("sum_band");
let edit = &case.faithful_edits[0]; let result = testkit::value_faithful(&case.bytes, edit, &case.bytes);
assert!(
result.is_err(),
"the value-differential MUST detect an un-relocated (mis-shifted) output"
);
}