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 AddressOfExpressionTests
16
public void SimpleAddressOfExpressionTest()
18
AddressOfExpression ae = ParseUtil.ParseExpression<AddressOfExpression>("AddressOf t");
20
Assert.IsInstanceOf(typeof(IdentifierExpression), ae.Expression);
21
Assert.AreEqual("t", ((IdentifierExpression)ae.Expression).Identifier, "t");
25
public void GenericAddressOfExpressionTest()
27
AddressOfExpression ae = ParseUtil.ParseExpression<AddressOfExpression>("AddressOf t(Of X)");
29
Assert.IsInstanceOf(typeof(IdentifierExpression), ae.Expression);
30
Assert.AreEqual("t", ((IdentifierExpression)ae.Expression).Identifier, "t");
31
Assert.AreEqual(1, ((IdentifierExpression)ae.Expression).TypeArguments.Count);
32
Assert.AreEqual("X", ((IdentifierExpression)ae.Expression).TypeArguments[0].Type);
36
public void MemberReferenceAddressOfExpressionTest()
38
AddressOfExpression ae = ParseUtil.ParseExpression<AddressOfExpression>("AddressOf Me.t(Of X)");
40
Assert.IsInstanceOf(typeof(MemberReferenceExpression), ae.Expression);
41
Assert.AreEqual("t", ((MemberReferenceExpression)ae.Expression).MemberName, "t");
42
Assert.IsInstanceOf(typeof(ThisReferenceExpression), ((MemberReferenceExpression)ae.Expression).TargetObject);