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(); }
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); } } }
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(); }
public void TestSimpleNegateOfTrue() { var not = new Not(new Property("True")); Assert.That(not.Evaluate(new Reflection(this)), Is.EqualTo(false)); }