static void Main(string[] args)
        {
            int choice = default(int);

            Console.WriteLine("enter the choice");
            Console.WriteLine("1-Physical product");
            Console.WriteLine("2-Book");
            Console.WriteLine("3-Membership");
            Console.WriteLine("4-Upgrade to a membership");
            Console.WriteLine("5-Membership or upgrade");
            Console.WriteLine("6- Video -Learning to Ski");
            Console.WriteLine("7-Physical product or a book");


            var conversionesult = Int32.TryParse(Console.ReadLine(), out choice);

            if (conversionesult)
            {
                try
                {
                    RuleEngineFactory factory = new RuleEngineFactory();
                    factory.ExecuteRule(choice);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
            else
            {
                Console.WriteLine("Please enter the choice in number format.");
            }
            Console.ReadLine();
        }
        public void TestChoice1()
        {
            Random            _random = new Random();
            int               choice  = _random.Next(1, 7);
            RuleEngineFactory factory = new RuleEngineFactory();
            var               result  = factory.ExecuteRule(choice);

            Assert.AreEqual(result, true);
        }
Beispiel #3
0
        public void RunOn()
        {
            CustomerMock customer = new CustomerMock
            {
                Salary   = 1000,
                Expenses = 3000
            };

            CustomerRuleSetMock        customerRuleSet    = new CustomerRuleSetMock();
            IRuleEngine <CustomerMock> customerRuleEngine = RuleEngineFactory.Create <CustomerMock>(customerRuleSet);

            IEnumerable <RuleResult> ruleResults = customerRuleEngine.RunOn(customer);

            ruleResults.Should().HaveCount(2);
        }
    public override bool Validate(LayersType below)
    {
        layerBelow = below;
        IRuleEngine <MultiplayLayer> ruleEngine = RuleEngineFactory <MultiplayLayer> .GetEngine();

        var results = ruleEngine.Validate(this);

        foreach (var r in results)
        {
            if (r.IsBroken)
            {
                Debug.LogError(r.Name + " rule is broken and the error is " + r.ErrorMessage);
            }
        }
        return(results.Count == 0);
    }
        public void TestChoice2()
        {
            Random            _random = new Random();
            int               choice  = _random.Next(8, 100);
            bool              result  = false;
            RuleEngineFactory factory = new RuleEngineFactory();

            try
            {
                result = factory.ExecuteRule(choice);
            }
            catch (Exception ex)
            {
                Assert.AreEqual(result, false);
            }
        }
        static void Main(string[] args)
        {
            Registration register = new Registration();

            IRuleEngine <Registration> ruleEngine = RuleEngineFactory <Registration> .GetEngine();

            register.UserName     = "";
            register.Password     = "******";
            register.Email        = "";
            register.EmailConfirm = "test";

            var results = ruleEngine.Validate(register);

            foreach (var r in results)
            {
                if (r.IsBroken)
                {
                    Console.WriteLine("{0} rule is broken and the error is {1}", r.Name, r.ErrorMessage);
                }
            }

            Console.Read();
        }
 public TestInputCollection()
 {
     ruleEngine = RuleEngineFactory <TestInput> .GetEngine();
 }