public void IgnoreCaseTest() { IdentityExpression expression = new IdentityExpression("Foo"); Assert.IsTrue(expression.Evaluate(principal)); }
public void WordTest() { IdentityExpression expression = new IdentityExpression("user1"); Assert.AreEqual(typeof(WordExpression), expression.Word.GetType()); }
public void AnyTest() { IdentityExpression expression = new IdentityExpression("*"); Assert.AreEqual(typeof(AnyExpression), expression.Word.GetType()); }
public void FalseEvaluationTest() { IdentityExpression expression = new IdentityExpression("bar"); Assert.IsFalse(expression.Evaluate(principal)); }
public ISymbolValue Visit(IdentityExpression x) { return E_BoolOp(x); }
public void Visit(IdentityExpression x) { }
IExpression CmpExpression(IBlockNode Scope = null) { // TODO: Make this into a switch. var left = ShiftExpression(Scope); OperatorBasedExpression ae; switch (laKind) { case DTokens.Equal: case DTokens.NotEqual: ae = new EqualExpression (laKind == NotEqual); break; case DTokens.LessThan: case DTokens.LessEqual: case DTokens.GreaterThan: case DTokens.GreaterEqual: case DTokens.Unordered: case DTokens.LessOrGreater: case DTokens.LessEqualOrGreater: case DTokens.UnorderedOrGreater: case DTokens.UnorderedGreaterOrEqual: case DTokens.UnorderedOrLess: case DTokens.UnorderedLessOrEqual: case DTokens.UnorderedOrEqual: ae = new RelExpression (laKind); break; case DTokens.Is: ae = new IdentityExpression (false); break; case DTokens.In: ae = new InExpression (false); break; case Not: switch (Peek (1).Kind) { case DTokens.Is: ae = new IdentityExpression (false); Step (); break; case DTokens.In: ae = new InExpression (true); Step (); break; default: return left; } break; default: return left; } // Skip operator Step(); ae.LeftOperand = left; ae.RightOperand = ShiftExpression(Scope); return ae; }
IExpression CmpExpression(IBlockNode Scope = null) { // TODO: Make this into a switch. var left = ShiftExpression(Scope); OperatorBasedExpression ae = null; // Equality Expressions if (laKind == Equal || laKind == NotEqual) ae = new EqualExpression(laKind == NotEqual); // Relational Expressions else if (IsRelationalOperator(laKind)) ae = new RelExpression(laKind); // Identity Expressions else if (laKind == Is || (laKind == Not && Peek(1).Kind == Is)) ae = new IdentityExpression(laKind == Not); // In Expressions else if (laKind == In || (laKind == Not && Peek(1).Kind == In)) ae = new InExpression(laKind == Not); else return left; // Skip possible !-Token if (laKind == Not) Step(); // Skip operator Step(); ae.LeftOperand = left; ae.RightOperand = ShiftExpression(Scope); return ae; }
public void CaseTest() { IdentityExpression expression = new IdentityExpression("foo"); Assert.IsTrue(expression.Evaluate(this.principal)); }
public void CaseTest() { IdentityExpression expression = new IdentityExpression("foo"); Assert.IsTrue(expression.Evaluate(principal)); }
public override void Visit(IdentityExpression x) { locs.Add(x.opLine); locs.Add(x.opColumn - 1); base.Visit(x); }
public ISymbolValue Visit(IdentityExpression x) { return(E_BoolOp(x)); }