diff --git a/ICSharpCode.NRefactory.Tests/CSharp/Resolver/SimpleNameLookupTests.cs b/ICSharpCode.NRefactory.Tests/CSharp/Resolver/SimpleNameLookupTests.cs
index 1d617dd2a9..0ff2a51dca 100644
--- a/ICSharpCode.NRefactory.Tests/CSharp/Resolver/SimpleNameLookupTests.cs
+++ b/ICSharpCode.NRefactory.Tests/CSharp/Resolver/SimpleNameLookupTests.cs
@@ -51,6 +51,14 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver
Assert.AreEqual("System.String", trr.Type.FullName);
}
+ [Test]
+ public void UnknownIdentifierTest()
+ {
+ UnknownIdentifierResolveResult uirr = (UnknownIdentifierResolveResult)resolver.ResolveSimpleName("xyz", new IType[0]);
+ Assert.IsTrue(uirr.IsError);
+ Assert.AreEqual("xyz", uirr.Identifier);
+ }
+
[Test]
public void GlobalIsUnknownIdentifier()
{
diff --git a/ICSharpCode.NRefactory.Tests/ICSharpCode.NRefactory.Tests.csproj b/ICSharpCode.NRefactory.Tests/ICSharpCode.NRefactory.Tests.csproj
index 451138888a..e07f77c2d9 100644
--- a/ICSharpCode.NRefactory.Tests/ICSharpCode.NRefactory.Tests.csproj
+++ b/ICSharpCode.NRefactory.Tests/ICSharpCode.NRefactory.Tests.csproj
@@ -132,6 +132,7 @@
+
diff --git a/ICSharpCode.NRefactory.Tests/TypeSystem/CommonTypeInferenceTests.cs b/ICSharpCode.NRefactory.Tests/TypeSystem/CommonTypeInferenceTests.cs
new file mode 100644
index 0000000000..39cd48ea25
--- /dev/null
+++ b/ICSharpCode.NRefactory.Tests/TypeSystem/CommonTypeInferenceTests.cs
@@ -0,0 +1,74 @@
+// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
+// This code is distributed under MIT X11 license (for details please see \doc\license.txt)
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using ICSharpCode.NRefactory.CSharp.Resolver;
+using NUnit.Framework;
+
+namespace ICSharpCode.NRefactory.TypeSystem
+{
+ [TestFixture]
+ public class CommonTypeInferenceTests
+ {
+ CommonTypeInference cti = new CommonTypeInference(CecilLoaderTests.Mscorlib, new Conversions(CecilLoaderTests.Mscorlib));
+
+ IType[] Resolve(params Type[] types)
+ {
+ IType[] r = new IType[types.Length];
+ for (int i = 0; i < types.Length; i++) {
+ r[i] = types[i].ToTypeReference().Resolve(CecilLoaderTests.Mscorlib);
+ Assert.AreNotSame(r[i], SharedTypes.UnknownType);
+ }
+ Array.Sort(r, (a,b)=>a.ReflectionName.CompareTo(b.ReflectionName));
+ return r;
+ }
+
+ IType[] CommonBaseTypes(params Type[] types)
+ {
+ return cti.CommonBaseTypes(Resolve(types)).OrderBy(r => r.ReflectionName).ToArray();
+ }
+
+ [Test]
+ public void ListOfStringAndObject()
+ {
+ Assert.AreEqual(
+ Resolve(typeof(IList), typeof(IEnumerable