Various pre-release cosmetic fixes
This commit is contained in:
18
src/lib.rs
18
src/lib.rs
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user