1
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
2
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
7
using ICSharpCode.NRefactory.VB.Parser;
8
using ICSharpCode.NRefactory.VB.Ast;
10
namespace ICSharpCode.NRefactory.VB.Tests.Ast
13
public class UnaryOperatorExpressionTests
16
void VBNetTestUnaryOperatorExpressionTest(string program, UnaryOperatorType op)
18
UnaryOperatorExpression uoe = ParseUtil.ParseExpression<UnaryOperatorExpression>(program);
19
Assert.AreEqual(op, uoe.Op);
21
Assert.IsTrue(uoe.Expression is SimpleNameExpression);
25
public void VBNetNotTest()
27
VBNetTestUnaryOperatorExpressionTest("Not a", UnaryOperatorType.Not);
31
public void VBNetInEqualsNotTest()
33
BinaryOperatorExpression e = ParseUtil.ParseExpression<BinaryOperatorExpression>("b <> Not a");
34
Assert.AreEqual(BinaryOperatorType.InEquality, e.Op);
35
UnaryOperatorExpression ue = (UnaryOperatorExpression)e.Right;
36
Assert.AreEqual(UnaryOperatorType.Not, ue.Op);
40
public void VBNetNotEqualTest()
42
UnaryOperatorExpression e = ParseUtil.ParseExpression<UnaryOperatorExpression>("Not a = b");
43
Assert.AreEqual(UnaryOperatorType.Not, e.Op);
44
BinaryOperatorExpression boe = (BinaryOperatorExpression)e.Expression;
45
Assert.AreEqual(BinaryOperatorType.Equality, boe.Op);
49
public void VBNetPlusTest()
51
VBNetTestUnaryOperatorExpressionTest("+a", UnaryOperatorType.Plus);
55
public void VBNetMinusTest()
57
VBNetTestUnaryOperatorExpressionTest("-a", UnaryOperatorType.Minus);