Beispiel #1
0
        public void Not_five_equals_six_should_be_true()
        {
            var expression = new Not
            {
                Child1 = new Equals <int>
                {
                    Child1 = new Constant <int>(5),
                    Child2 = new Constant <int>(6)
                }
            };

            expression.Evaluate(new MockAiContext()).ShouldBeTrue();
        }
Beispiel #2
0
        public bool Evaluate(MessageDataItem dataItem)
        {
            if (And != null)
            {
                return(And.All(x => x?.Evaluate(dataItem) == true));
            }
            if (Or != null)
            {
                return(Or.Any(x => x?.Evaluate(dataItem) == true));
            }
            if (Not != null)
            {
                return(!Not.Evaluate(dataItem));
            }
            if (Exists != null)
            {
                if (Exists.Attribute != null)
                {
                    if (dataItem.AttributeExists(Exists.Attribute.Name ?? ""))
                    {
                        if (dataItem.GetAttributeAsVariant(Exists.Attribute.Name).Type == Exists.Attribute.Type)
                        {
                            return(true);
                        }
                    }
                }
            }
            if (SimpleExpression != null)
            {
                return(SimpleExpression.Evaluate(dataItem));
            }
            if (InExpression != null)
            {
                return(InExpression.Evaluate(dataItem));
            }
            if (RegExExpression != null)
            {
                return(RegExExpression.Evaluate(dataItem));
            }
            if (ModuleExpressionModule != null)
            {
                return(ModuleExpressionModule.IsMatch(dataItem));
            }

            return(false);
        }
        public static IEnumerable <IHashableFeature> GetAndNFlankNotNTermEEnumeration(NEC nec)
        {
            NFlank       nFlankFeature = NFlank.GetInstance();
            string       nFlankRegion  = nFlankFeature.FeatureFunction(nec);
            Set <string> aaSeqSet      = Set <string> .GetInstance(SpecialFunctions.SubstringEnumeration(nFlankRegion, 1));

            foreach (string aaSeq in aaSeqSet)
            {
                Not notFeature = Not.GetInstance(In.GetInstance(aaSeq, NTermE.GetInstance()));
                //Only generate the feature when the amino acid is not in NTermE
                if ((bool)notFeature.Evaluate(nec))
                {
                    In  inFeature  = In.GetInstance(aaSeq, nFlankFeature);
                    And andFeature = And.GetInstance(inFeature, notFeature);
                    Debug.Assert((bool)andFeature.Evaluate(nec)); // real assert - must only generate true features
                    yield return(andFeature);
                }
            }
        }
Beispiel #4
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            var p = new Variable(false);
            var q = new Variable(false);
            //  var pSecond = new Variable(true);

            var notGateFormula = new Not(p);

            //  var formula = new Or(new Not(p), q);
            //  var secondFormula = new And(p,  pSecond);
            //  var finalFormula = new And(secondFormula, q);

            //    Console.WriteLine(formula.Evaluate());
            //    p.Value = true;
            //    Console.WriteLine(finalFormula.Evaluate());
            Console.WriteLine($"The answer is Not: {notGateFormula.Evaluate()}");

            Console.Read();
        }
Beispiel #5
0
 public void TestSimpleNegateOfTrue()
 {
     var not = new Not(new Property("True"));
     Assert.That(not.Evaluate(new Reflection(this)), Is.EqualTo(false));
 }
Beispiel #6
0
        public void TestSimpleNegateOfTrue()
        {
            var not = new Not(new Property("True"));

            Assert.That(not.Evaluate(new Reflection(this)), Is.EqualTo(false));
        }