runxc1 / MicroRuleEngine

A .Net Rule Engine for dynamically evaluating business rules compiled on the fly.
MIT License
186 stars 74 forks source link

Additional functionality for IsInInput and multi targeting #24

Closed RubberChickenParadise closed 4 years ago

RubberChickenParadise commented 4 years ago

Added multitargeting from .net framework 4.0 through .net core 3.1 Added IsInInput operator to enable Input.Contains(Property) rules Added additional example usage to cover functionality that exists but was not tested Added EF Core In Memory provider tests

I am supporting quite a few legacy projects as well as newer projects using .net framework 4.0, 4.5.2, and 4.6.1, .net standard 2.0, and .net core 2.1 and 3.1 (migration would be better but finding time for regression tests causes issues). To that end the MRE.dll project has Target Frameworks updated to include the various versions and should now support .net framework 4.0 and on

Added the IsInInput is for rules that test new []{"option1","option2","option3"}.Contains(obj.prop)

Added example usage for obj.prop1 = obj.prop2 (it existed but was hard to find)

Added some tests I had written for EF Core using Microsoft.EntityFrameworkCore.InMemory as the provider.