use mlua_swarm_cli::dsl;
const SAMPLE_JSON: &str = include_str!("../src/mcp/resources/samples/02-verdict-loop.json");
const FIXTURE_SCRIPT: &str = include_str!("fixtures/verdict_loop.bp.lua");
#[test]
fn dsl_reproduces_verdict_loop_sample_verbatim() {
let expected: serde_json::Value =
serde_json::from_str(SAMPLE_JSON).expect("sample file must be valid JSON");
let actual = dsl::build_bp_from_script(FIXTURE_SCRIPT)
.expect("fixture script must build a Blueprint value");
assert_eq!(
actual, expected,
"DSL-built Blueprint diverges from the bundled sample \
(mse://blueprints/samples/02-verdict-loop)"
);
}
#[test]
fn dsl_reproduced_sample_is_a_valid_blueprint() {
let value = dsl::build_bp_from_script(FIXTURE_SCRIPT).expect("fixture script must build");
serde_json::from_value::<mlua_swarm_schema::Blueprint>(value)
.expect("DSL-built value must deserialize as a real Blueprint");
}