test(source): author explicit trace and reject actual typed case spellings
This commit is contained in:
@@ -54,11 +54,27 @@ fn current_formatter_roundtrips_complete_ordinary_examples_and_history() {
|
|||||||
let input = example_bundle();
|
let input = example_bundle();
|
||||||
let before = input.clone();
|
let before = input.clone();
|
||||||
let compiled = compile_bundle(&input, ProjectLimits::default()).unwrap();
|
let compiled = compile_bundle(&input, ProjectLimits::default()).unwrap();
|
||||||
let example = compiled.decoded.project;
|
let mut example = compiled.decoded.project;
|
||||||
assert!(example.elements.values().any(|e| e.layer() == Layer::Oa));
|
assert!(example.elements.values().any(|e| e.layer() == Layer::Oa));
|
||||||
assert!(example.elements.values().any(|e| e.layer() == Layer::Sa));
|
assert!(example.elements.values().any(|e| e.layer() == Layer::Sa));
|
||||||
assert!(!example.diagrams.is_empty());
|
assert!(!example.diagrams.is_empty());
|
||||||
assert!(!example.traces.is_empty());
|
// The published example has no traces: author an explicit participant link
|
||||||
|
// rather than assuming that the example already exercises this record class.
|
||||||
|
let trace_id = Id::from_u128(0x188b_0000_0000_0000_0000_0000_0000_0001);
|
||||||
|
let trace = Trace {
|
||||||
|
id: trace_id,
|
||||||
|
alias: "rescue_participant_trace".into(),
|
||||||
|
name: "Coordination participant realization".into(),
|
||||||
|
description: "Relates the operational coordination team to its selected system.".into(),
|
||||||
|
oa: Id::parse_str("00000000-0000-4000-8000-000000000102").unwrap(),
|
||||||
|
sa: Id::parse_str("00000000-0000-4000-8000-000000000301").unwrap(),
|
||||||
|
kind: TraceKind::Participant,
|
||||||
|
baseline: None,
|
||||||
|
};
|
||||||
|
assert_eq!(example.elements[&trace.oa].kind(), Kind::Entity);
|
||||||
|
assert_eq!(example.elements[&trace.sa].kind(), Kind::System);
|
||||||
|
assert!(example.traces.insert(trace_id, trace.clone()).is_none());
|
||||||
|
assert_eq!(example.traces[&trace_id], trace);
|
||||||
let historical =
|
let historical =
|
||||||
crate::persistence::decode(include_bytes!("../tests/fixtures/v4-reviewed-prose.json"))
|
crate::persistence::decode(include_bytes!("../tests/fixtures/v4-reviewed-prose.json"))
|
||||||
.unwrap();
|
.unwrap();
|
||||||
@@ -165,7 +181,9 @@ fn typed_analysis_future_headers_and_limits_still_refuse() {
|
|||||||
"sa_property",
|
"sa_property",
|
||||||
"oa_check",
|
"oa_check",
|
||||||
"sa_check",
|
"sa_check",
|
||||||
|
"oa_analysis",
|
||||||
"oa_case",
|
"oa_case",
|
||||||
|
"sa_analysis",
|
||||||
"sa_case",
|
"sa_case",
|
||||||
"oa_engineering_property",
|
"oa_engineering_property",
|
||||||
"sa_engineering_property",
|
"sa_engineering_property",
|
||||||
|
|||||||
@@ -51,3 +51,16 @@ single6 token, and expect only6->8 during migration. All exact file/comment/modu
|
|||||||
whole-model, caller ownership and recompilation assertions remain, as does the
|
whole-model, caller ownership and recompilation assertions remain, as does the
|
||||||
original test name. This is a static finding before execution, not a reported
|
original test name. This is a static finding before execution, not a reported
|
||||||
runtime failure; no other legacy evaluator or formatter is changed.
|
runtime failure; no other legacy evaluator or formatter is changed.
|
||||||
|
|
||||||
|
## Focused fixture repair after initial execution
|
||||||
|
|
||||||
|
Parent's focused run at 33b86a4d completed five tests and failed one: the example
|
||||||
|
bundle has no trace records, contrary to the new fixture's nonempty assertion.
|
||||||
|
The repair explicitly authors a Participant trace from fixed OA rescue-team UUID
|
||||||
|
102 to fixed SA system UUID301, checks endpoint kinds and the complete trace,
|
||||||
|
and includes it in the unchanged whole-model source/bundle roundtrip assertions.
|
||||||
|
Historical reviewed-prose trace/baseline coverage remains. Independent source
|
||||||
|
review also identified the actual short case spellings oa_analysis/sa_analysis;
|
||||||
|
both now appear in the ordinary refusal table alongside the invalid case aliases.
|
||||||
|
Production and the other evaluators are unchanged. These corrections are not a
|
||||||
|
runtime pass claim; the initial five-pass/one-failure record remains preserved.
|
||||||
Reference in New Issue
Block a user