public RulesEngine(ILogger logger = null, ReSettings reSettings = null) { _logger = logger ?? new NullLogger <RulesEngine>(); _reSettings = reSettings ?? new ReSettings(); _ruleExpressionParser = new RuleExpressionParser(_reSettings); _ruleCompiler = new RuleCompiler(new RuleExpressionBuilderFactory(_reSettings, _ruleExpressionParser), _reSettings, _logger); _actionFactory = new ActionFactory(GetActionRegistry(_reSettings)); }
public void RuleCompiler_NullCheck() { Assert.Throws <ArgumentNullException>(() => new RuleCompiler(null, null)); var reSettings = new ReSettings(); var parser = new RuleExpressionParser(reSettings); Assert.Throws <ArgumentNullException>(() => new RuleCompiler(new RuleExpressionBuilderFactory(reSettings, parser), null)); }
public void RuleCompiler_CompileRule_ThrowsException() { var reSettings = new ReSettings(); var parser = new RuleExpressionParser(reSettings); var compiler = new RuleCompiler(new RuleExpressionBuilderFactory(reSettings, parser), new NullLogger <RuleCompiler>()); Assert.Throws <ArgumentNullException>(() => compiler.CompileRule(null, null)); Assert.Throws <ArgumentNullException>(() => compiler.CompileRule(null, new RuleParameter[] { null })); }
public void RuleGetExpressionBuilderTest(RuleExpressionType expressionType, Type expectedExpressionBuilderType) { var reSettings = new ReSettings(); var parser = new RuleExpressionParser(reSettings); var objBuilderFactory = new RuleExpressionBuilderFactory(reSettings, parser); var builder = objBuilderFactory.RuleGetExpressionBuilder(expressionType); var builderType = builder.GetType(); Assert.Equal(expectedExpressionBuilderType.ToString(), builderType.ToString()); }
internal ParamCompiler(ReSettings reSettings, RuleExpressionParser ruleExpressionParser) { _reSettings = reSettings; _ruleExpressionParser = ruleExpressionParser; }
public RuleExpressionBuilderFactory(ReSettings reSettings, RuleExpressionParser expressionParser) { _reSettings = reSettings; _lambdaExpressionBuilder = new LambdaExpressionBuilder(_reSettings, expressionParser); }
public OutputExpressionAction(RuleExpressionParser ruleExpressionParser) { _ruleExpressionParser = ruleExpressionParser; }