public void ShouldInitializeEngine() { //Arrange var ruleEngine = RuleEngineFor <Target> .Initialize(ruleBase => { ruleBase.AddRule.Named("rule 1") .Description("description") .When(t => t.Number.Equals(0)) .Then(t => t.Number = 1); ruleBase.Add(ruleSet => { ruleSet.AddRule.Named("rule 2") .Description("description") .When(t => t.Number.Equals(1)) .Then(t => t.Number = 2); ruleSet.AddRule.Named("rule 3") .Description("description") .When(t => t.Number.Equals(2)) .Then(t => t.Number = 3); }); ruleBase.Add <MyRuleSet>(); }); var target = new Target(); //Act ruleEngine.Execute(target); //Assert Assert.Equal(4, target.Number); }
public void ShouldInitializeEngineWithRuleBaseBuilder() { //Arrange var ruleEngine = RuleEngineFor <Target> .Initialize <MyRuleBase>(); var target = new Target(); //Act ruleEngine.Execute(target); //Assert Assert.Equal(4, target.Number); }