#[test]
fn {name}() {
let op_id_str = {op_id_str};
{if:validation_must_accept}
let program = {validation_program};
let errors = vyre::ir::validate(&program);
assert!(errors.is_empty(), "Fix: validation rule {validation_rule_id} rejected valid generated {op_id_display}/{archetype_id_display} program: {:?}", errors);
{/if}
{if:validation_must_reject}
{if:validation_has_reject_case}
let program = {validation_reject_program};
let errors = vyre::ir::validate(&program);
assert!(errors.iter().any(|error| error.message().contains("{validation_reject_error_substring}")), "Fix: validation rule {validation_rule_id} accepted invalid generated {op_id_display}/{archetype_id_display} program: {:?}", errors);
{/if}
{/if}
}