From 4267ccc4f28a195a7dca0c6cb6ceb372fe428b72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20Kr=C3=BCger?= Date: Wed, 13 Feb 2013 08:15:09 +0100 Subject: [PATCH] Readded resolver test for bug 10201. The bug wasn't valid but we didn't check this case. --- .../CSharp/Resolver/MemberLookupTests.cs | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/ICSharpCode.NRefactory.Tests/CSharp/Resolver/MemberLookupTests.cs b/ICSharpCode.NRefactory.Tests/CSharp/Resolver/MemberLookupTests.cs index 07050b6507..8bbbd4685d 100644 --- a/ICSharpCode.NRefactory.Tests/CSharp/Resolver/MemberLookupTests.cs +++ b/ICSharpCode.NRefactory.Tests/CSharp/Resolver/MemberLookupTests.cs @@ -542,5 +542,26 @@ class C : B { var result = Resolve(program); Assert.AreEqual("op_Addition.Foo", result.Member.FullName); } + + /// + /// Bug 10201 - Wrong generics expansion for base recursive types + /// + [Test] + public void TestBug10201() + { + string program = @"public interface IA +{ +} +public class G : IA<$G$> +{} +"; + var rr = Resolve(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); + } } }