Browse Source

Readded resolver test for bug 10201.

The bug wasn't valid but we didn't check this case.
pull/32/merge
Mike Krüger 13 years ago
parent
commit
4267ccc4f2
  1. 21
      ICSharpCode.NRefactory.Tests/CSharp/Resolver/MemberLookupTests.cs

21
ICSharpCode.NRefactory.Tests/CSharp/Resolver/MemberLookupTests.cs

@ -542,5 +542,26 @@ class C : B {
var result = Resolve<MemberResolveResult>(program); var result = Resolve<MemberResolveResult>(program);
Assert.AreEqual("op_Addition.Foo", result.Member.FullName); Assert.AreEqual("op_Addition.Foo", result.Member.FullName);
} }
/// <summary>
/// Bug 10201 - Wrong generics expansion for base recursive types
/// </summary>
[Test]
public void TestBug10201()
{
string program = @"public interface IA<T>
{
}
public class G<U, V> : IA<$G<V, string>$>
{}
";
var rr = Resolve<TypeResolveResult>(program);
var baseType = rr.Type.DirectBaseTypes.First().TypeArguments.First () as ParameterizedType;
Assert.AreEqual("G", baseType.Name);
Assert.AreEqual(2, baseType.TypeParameterCount);
Assert.AreEqual("System.String", baseType.TypeArguments [0].FullName);
Assert.AreEqual("System.String", baseType.TypeArguments [1].FullName);
}
} }
} }

Loading…
Cancel
Save