public void Evaluate_False() { // Arrange const string expression = @"(f.Age > 3 && f.Income > 100000) || f.NumberOfChildren > 5"; var p = new Person { Age = 37, Income = 45000, NumberOfChildren = 3 }; var ruleEngine = new RuleEngine.Kernel(); // Act var result = ruleEngine.Evaluate <Person, bool>(p, expression); // Assert Assert.False(result); }
public void EvaluateCollection_True() { // Arrange var people = new List <Person> { new Person { Name = "John", Gender = Gender.Male, Age = 23, Income = 24000, NumberOfChildren = 0 }, new Person { Name = "Mary", Gender = Gender.Female, Age = 22, Income = 23000, NumberOfChildren = 1 } }; const string expression = "f.Any(p => p.Name.Equals(\"John\") && p.Age < 24)"; var ruleEngine = new RuleEngine.Kernel(); // Act var result = ruleEngine.Evaluate <IEnumerable <Person>, bool>(people, expression); // Assert Assert.True(result); }