public void InnerClassTypeReferencTest() { InnerClassTypeReference ictr = new InnerClassTypeReference( new TypeReference("OuterClass", new List<TypeReference> { new TypeReference("String") }), "InnerClass", new List<TypeReference> { new TypeReference("Int32"), new TypeReference("Int64") }); Assert.AreEqual("OuterClass<String>+InnerClass<Int32,Int64>", ictr.ToString()); CodeTypeOfExpression result = (CodeTypeOfExpression)new TypeOfExpression(ictr).AcceptVisitor(new CodeDomVisitor(), null); Assert.AreEqual("OuterClass`1+InnerClass`2", result.Type.BaseType); Assert.AreEqual(3, result.Type.TypeArguments.Count); }