///|
fn main raise {
let rules = [
@runner.Rule::{ id: "adult", rule: { ">=": [{ "var": "age" }, 18] }, },
@runner.Rule::{
id: "discount",
rule: { "if": [{ "var": "member" }, 10, 0] },
},
@runner.Rule::{ id: "invalid", rule: { "unknown_operation": 1 }, },
@runner.Rule::{ id: "name", rule: { "var": "name" }, },
]
let report = @runner.execute(
rules,
{ "age": 25, "member": true, "name": "Ada" },
max_steps_per_rule=100,
max_total_steps=1000,
)
assert_eq(report.successful, 3)
assert_eq(report.failed, 1)
println(report.to_json().stringify())
}