示例#1
0
        public void TestBug487236()
        {
            CompletionDataList provider = CodeCompletionBugTests.CreateCtrlSpaceProvider(
                @"
public class A
{
	public string Name { get; set; }
}

class MyTest
{
	public void Test ()
	{
		$new A () { $
	}
}
");

            Assert.IsNotNull(provider, "provider not found.");

            Assert.IsNotNull(provider.Find("Name"), "property 'Name' not found.");
        }
示例#2
0
        public void TestInheritedInnerClasses()
        {
            CompletionDataList provider = CodeCompletionBugTests.CreateProvider(
                @"
public class A {
	public class B {
		public void MethodB () 
		{
		}
	}
}
public class C : A 
{
	public override void MethodA (B something)
	{
		$something.$
	}
}");

            Assert.IsNotNull(provider, "provider == null");
            Assert.IsNotNull(provider.Find("MethodB"), "method 'MethodB' not found");
        }
示例#3
0
        public void TestProtectedMemberAccess2()
        {
            CompletionDataList provider = CodeCompletionBugTests.CreateProvider(
                @"
class Test
{
	protected void Test ()
	{
	}
}

class Test2
{
	void Test2 ()
	{
		$(new Test ()).$
	}
}");

            Assert.IsNotNull(provider, "provider == null");
            Assert.IsNull(provider.Find("Test"), "method 'Test' found, but shouldn't.");
        }
示例#4
0
        public void TestBaseProtectedMemberAccess()
        {
            CompletionDataList provider = CodeCompletionBugTests.CreateProvider(
                @"
class Test
{
	protected void Test ()
	{
	}
}

class Test2 : Test
{
	void Test2 ()
	{
		$base.$
	}
}");

            Assert.IsNotNull(provider, "provider == null");
            Assert.IsNotNull(provider.Find("Test"), "method 'Test' not found.");
        }
        public void TestLambdaExpressionCase2()
        {
            CompletionDataList provider = CodeCompletionBugTests.CreateProvider(
                @"

namespace System {
	public class Array {
		public Test this[int i] {
			get {
			}
			set {
			}
		}
	}
}

static class ExtMethods
{
	public static T Where<T>(this T[] t, Func<T, bool> pred)
	{
		return t;
	}
}

class Test
{
	public void TestMethod ()
	{
		Test[] en = new Test[0];
		var x = en.Where (t => t != null);
		$x.$
	}
}
");

            Assert.IsNotNull(provider, "provider == null");
            Assert.IsNotNull(provider.Find("TestMethod"), "method 'TestMethod' not found.");
        }
示例#6
0
        public void TestInnerClassPrivateOuterMembersAccess()
        {
            CompletionDataList provider = CodeCompletionBugTests.CreateProvider(
                @"
public class TestClass
{
	void TestMethod ()
	{
	}
	
	public class InnerClass
	{
		void TestMethod ()
		{
			TestClass tc = new TestClass ();
			$tc.$
		}
	}
}");

            Assert.IsNotNull(provider, "provider == null");
            Assert.IsNotNull(provider.Find("TestMethod"), "method 'TestMethod' not found");
        }
示例#7
0
        public void TestNamespaceAccess()
        {
            CompletionDataList provider = CodeCompletionBugTests.CreateProvider(
                @"
namespace Foo.Bar {
	class B
	{
	}
}

namespace Foo {
	class Test
	{
		void TestMethod ()
		{
			$Bar.$
		}
	}
}");

            Assert.IsNotNull(provider, "provider == null");
            Assert.IsNotNull(provider.Find("B"), "class 'B' not found");
        }
示例#8
0
        public void TestMethodAccess()
        {
            CompletionDataList provider = CodeCompletionBugTests.CreateProvider(
                @"
class AClass
{
	public AClass TestMethod ()
	{
	}
}

class Test
{
	void Test ()
	{
		AClass a;
		$a.TestMethod().$
	}
}");

            Assert.IsNotNull(provider, "provider == null");
            Assert.IsNotNull(provider.Find("TestMethod"), "method 'TestMethod ' not found.");
        }
示例#9
0
        public void TestExplicitResolving()
        {
            CompletionDataList provider = CodeCompletionBugTests.CreateProvider(
                @"
interface IMyInterface {
	object this [object i] { get; }
}

class MyClass<S, T> : IMyInterface
{
	object IMyInterface.this[object i] {
		get {
			return null;
		}
	}
	
	public S this[T i] {
		get {
			return default(S);
		}
	}
}
	
class TestClass
{
	void TestMethod ()
	{
		MyClass<TestClass, string> myClass = new MyClass<TestClass, string> ();
		$myClass[""test""].$
	}
}
");

            Assert.IsNotNull(provider, "provider == null");
            Assert.IsNotNull(provider.Find("TestMethod"), "method 'TestMethod' not found");
        }
示例#10
0
        public void TestImplicitGenericMethodParameter()
        {
            CompletionDataList provider = CodeCompletionBugTests.CreateProvider(
                @"
public class TestClass
{
	public static T TestMethod<T> (T t)
	{
		return t;
	}
}

public class Test
{
	public void TestMethod ()
	{
		$TestClass.TestMethod (this).$
	}
}
 ");

            Assert.IsNotNull(provider, "provider == null");
            Assert.IsNotNull(provider.Find("TestMethod"), "method 'TestMethod' not found");
        }
        public void TestBug487237()
        {
            CompletionDataList provider = CodeCompletionBugTests.CreateProvider(
                @"
public interface IHelper
{
    void DoIt ();
}

public class Program
{
	delegate T MyDelegate <T> (T t);
    
	static int Main ()
    {
        $MyDelegate<IHelper> e = helper => helper.$
        return 0;
    }
}
");

            Assert.IsNotNull(provider, "provider == null");
            Assert.IsNotNull(provider.Find("DoIt"), "method 'DoIt' not found.");
        }
示例#12
0
        public void TestExternalNonStaticSubclassAccess()
        {
            CompletionDataList provider = CodeCompletionBugTests.CreateProvider(testClass +
                                                                                @"}
class AClass : TestClass {
	void TestMethod () 
	{
		$this.$ 
	}
}");

            Assert.IsNotNull(provider, "provider == null");

            CodeCompletionBugTests.CheckProtectedObjectMembers(provider);
            Assert.IsNotNull(provider.Find("PubField"));
            Assert.IsNotNull(provider.Find("PubProperty"));
            Assert.IsNotNull(provider.Find("PubMethod"));
            Assert.IsNotNull(provider.Find("ProtField"));
            Assert.IsNotNull(provider.Find("ProtProperty"));
            Assert.IsNotNull(provider.Find("ProtMethod"));
        }
示例#13
0
        public void TestInternalAccessOutside()
        {
            CompletionDataList provider = CodeCompletionBugTests.CreateProvider(testClass +
                                                                                @"
} 
class Test2 {
	void TestMethod () 
	{
		TestClass tc;
		$tc.$
	}
}");

            Assert.IsNotNull(provider, "provider == null");

            Assert.IsNotNull(provider.Find("InternalField"), "InternalField == null");
            Assert.IsNotNull(provider.Find("InternalProperty"), "InternalProperty == null");
            Assert.IsNotNull(provider.Find("InternalMethod"), "InternalMethod == null");

            Assert.IsNotNull(provider.Find("ProtOrInternalField"), "ProtOrInternalField == null");
            Assert.IsNotNull(provider.Find("ProtOrInternalProperty"), "ProtOrInternalProperty == null");
            Assert.IsNotNull(provider.Find("ProtOrInternalMethod"), "ProtOrInternalMethod == null");
        }
示例#14
0
		public static void CheckStaticObjectMembers (CompletionDataList provider)
		{
			Assert.IsNotNull (provider.Find ("Equals"), "Method 'System.Object.Equals' not found.");
			Assert.IsNotNull (provider.Find ("ReferenceEquals"), "Method 'System.Object.ReferenceEquals' not found.");
		}
示例#15
0
		public static void CheckProtectedObjectMembers (CompletionDataList provider)
		{
			CheckObjectMembers (provider);
			Assert.IsNotNull (provider.Find ("MemberwiseClone"), "Method 'System.Object.MemberwiseClone' not found.");
		}
示例#16
0
		public static void CheckObjectMembers (CompletionDataList provider)
		{
			Assert.IsNotNull (provider.Find ("Equals"), "Method 'System.Object.Equals' not found.");
			Assert.IsNotNull (provider.Find ("GetHashCode"), "Method 'System.Object.GetHashCode' not found.");
			Assert.IsNotNull (provider.Find ("GetType"), "Method 'System.Object.GetType' not found.");
			Assert.IsNotNull (provider.Find ("ToString"), "Method 'System.Object.ToString' not found.");
		}