docs(context): correct the Eager-math evidence, restore the product-targeted test, record the cycle changes (improvise-bw4p.20)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
This commit is contained in:
committed by
Edward Langley
parent
9f035f918e
commit
1a05107198
@@ -379,3 +379,31 @@ fn ordered_evaluation_keeps_the_zero_eager_settles_on() {
|
||||
same_model(&model, &[], &edits, by).unwrap_or_else(|e| panic!("{by:?}: {e}"));
|
||||
}
|
||||
}
|
||||
#[test]
|
||||
fn a_new_aggregation_reaches_a_product_targeted_filtered_sum() {
|
||||
let mut model = Model::new("products");
|
||||
for (cat, items) in [("Region", vec!["East", "West"]), ("Product", vec!["F0"])] {
|
||||
model.add_category(cat).unwrap();
|
||||
for item in items {
|
||||
model.category_mut(cat).unwrap().add_item(item);
|
||||
}
|
||||
}
|
||||
model.category_mut("_Measure").unwrap().add_item("Cost");
|
||||
for (region, v) in [("East", 4.0), ("West", 9.0)] {
|
||||
let key = CellKey::new(vec![
|
||||
("Region".into(), region.into()),
|
||||
("Product".into(), "F0".into()),
|
||||
("_Measure".into(), "Cost".into()),
|
||||
]);
|
||||
model.set_cell(key, CellValue::Number(v));
|
||||
}
|
||||
model.add_formula(parse_formula("P0 = SUM(F0 WHERE Region = East)", "Product").unwrap());
|
||||
let none = vec![];
|
||||
let edits = [Edit::SetMeasureAgg {
|
||||
measure: "Cost".into(),
|
||||
func: improvise_core::formula::ast::AggFunc::Min,
|
||||
}];
|
||||
for by in [Evaluation::Ordered, Evaluation::Plain] {
|
||||
same_model(&model, &none, &edits, by).unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user