builder_test/
builder_test.rs1use 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 let engine = RuleEngineBuilder::new().with_inline_grl(grl_rules)?.build();
18
19 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 let result = engine.execute(&facts)?;
27 println!("✅ Rules fired: {}", result.rules_fired);
28
29 Ok(())
30}