Various pre-release cosmetic fixes

This commit is contained in:
2026-05-21 21:21:32 +03:00
parent cb0abb3e3b
commit f817c7b93e
8 changed files with 373 additions and 38 deletions

View File

@@ -84,7 +84,7 @@ mod smoke {
#[test]
fn levels_generate_canonical_yaml() {
let registry = levels::registry();
assert_eq!(registry.len(), 2);
assert_eq!(registry.len(), 3);
// Level 1: any null-equivalent passes via the semantic short-circuit.
let g1 = registry[0].generate(0);
@@ -110,5 +110,21 @@ mod smoke {
g2.target_yaml, g2_again.target_yaml,
"same seed should produce the same target"
);
// Level 3: deterministic per seed; produces a mapping of mappings,
// each inner mapping has a `type` key.
let g3 = registry[2].generate(123);
let v3: serde_yaml::Value = serde_yaml::from_str(&g3.target_yaml).unwrap();
let m3 = v3.as_mapping().expect("level 3 produces a mapping");
assert!(!m3.is_empty());
for (_dir, feature) in m3 {
let inner = feature.as_mapping().expect("level 3 inner is a mapping");
assert!(
inner.get(serde_yaml::Value::String("type".into())).is_some(),
"each direction must carry a `type` key"
);
}
let g3_again = registry[2].generate(123);
assert_eq!(g3.target_yaml, g3_again.target_yaml);
}
}