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)
6
using System.Collections.Generic;
8
using ICSharpCode.NRefactory.VB.Ast;
9
using ICSharpCode.NRefactory.VB.Visitors;
10
using NUnit.Framework;
12
namespace ICSharpCode.NRefactory.VB.Tests.Output.CodeDom.Tests
15
public class CodeDOMTypeReferenceTest
18
public void InnerClassTypeReferencTest()
20
InnerClassTypeReference ictr = new InnerClassTypeReference(
21
new TypeReference("OuterClass", new List<TypeReference> { new TypeReference("String") }),
23
new List<TypeReference> { new TypeReference("Int32"), new TypeReference("Int64") });
24
Assert.AreEqual("OuterClass<String>+InnerClass<Int32,Int64>", ictr.ToString());
25
CodeTypeOfExpression result = (CodeTypeOfExpression)new TypeOfExpression(ictr).AcceptVisitor(new CodeDomVisitor(), null);
26
Assert.AreEqual("OuterClass`1+InnerClass`2", result.Type.BaseType);
27
Assert.AreEqual(3, result.Type.TypeArguments.Count);