builder_test/
builder_test.rs

1use rust_rule_engine::{Facts, RuleEngineBuilder, Value};
2use std::collections::HashMap;
3
4fn main() -> Result<(), Box<dyn std::error::Error>> {
5    println!("🔧 Testing RuleEngineBuilder with inline rules");
6
7    let grl_rules = r#"
8        rule "SimpleTest" salience 10 {
9            when
10                User.Age >= 18
11            then
12                log("User is adult");
13        }
14    "#;
15
16    // Test inline rules
17    let engine = RuleEngineBuilder::new().with_inline_grl(grl_rules)?.build();
18
19    // Create facts
20    let facts = Facts::new();
21    let mut user = HashMap::new();
22    user.insert("Age".to_string(), Value::Integer(25));
23    facts.add_value("User", Value::Object(user))?;
24
25    // Execute
26    let result = engine.execute(&facts)?;
27    println!("✅ Rules fired: {}", result.rules_fired);
28
29    Ok(())
30}