public void TestInnerEnums() { CompletionResult provider = CodeCompletionBugTests.CreateCtrlSpaceProvider( @" public class InnerEnumTest { public enum TestEnum { A, B, C} public void Bar (TestEnum test) {} } class TestClass { public void Foo () { InnerEnumTest test; $test.Bar (I$ } }"); Assert.IsNotNull(provider, "provider not found."); Assert.IsNotNull(provider.Find("InnerEnumTest.TestEnum"), "enum 'InnerEnumTest.TestEnum' not found."); Assert.IsNotNull(provider.Find("InnerEnumTest.TestEnum.A"), "enum 'InnerEnumTest.TestEnum.A' not found."); Assert.IsNotNull(provider.Find("InnerEnumTest.TestEnum.B"), "enum 'InnerEnumTest.TestEnum.B' not found."); Assert.IsNotNull(provider.Find("InnerEnumTest.TestEnum.C"), "enum 'InnerEnumTest.TestEnum.C' not found."); }
public void TestHideClassesWithPrivateConstructor() { CompletionResult provider = CodeCompletionBugTests.CreateProvider( @" class A { } class TestClass : A { TestClass () { } } class Example { void TestMe () { $A a = new $ } } "); Assert.IsNotNull(provider, "provider == null"); Assert.IsNotNull(provider.Find("A"), "class 'A' not found"); Assert.IsNull(provider.Find("TestClass"), "class 'TestClass' found, but shouldn't."); }
public void TestAttributePropertyAccess() { CompletionResult provider = CodeCompletionBugTests.CreateProvider( @" public class TestAttribute : System.Attribute { public int MyIntProperty { get; set; } public string MyStringProperty { get; set; } } [Test($M$)] public class Program { } "); Assert.IsNotNull(provider, "provider == null"); Assert.IsNotNull(provider.Find("MyIntProperty"), "property 'MyIntProperty' not found"); Assert.IsNotNull(provider.Find("MyStringProperty"), "property 'MyStringProperty' not found"); }
public void TestAsCompletionContext() { CompletionResult provider = CodeCompletionBugTests.CreateProvider( @" class A { } class B { } class C : A { } class Test { public void TestMethod (object test) { $A a = test as $ } } "); Assert.IsNotNull(provider, "provider == null"); Assert.IsNotNull(provider.Find("A"), "class 'A' not found."); Assert.IsNotNull(provider.Find("C"), "class 'C' not found."); Assert.IsNull(provider.Find("B"), "class 'B' found, but shouldn't."); Assert.IsNull(provider.Find("Test"), "class 'Test' found, but shouldn't."); }
public void TestEnumInnerClass() { CompletionResult provider = CodeCompletionBugTests.CreateProvider( @" using System; namespace CaptainHook.Mail { public class TestClass { enum ParsingState { Any, Start, InMacro, InMacroArgumentList, InQuotedMacroArgument, PlainText } ParsingState state; public TestClass () { $state = P$ } } }"); Assert.IsNotNull(provider, "provider == null"); Assert.IsNull(provider.Find("CaptainHook.Mail.TestClass.ParsingState"), "class 'CaptainHook.Mail.TestClass.ParsingState' found!"); Assert.IsNull(provider.Find("TestClass.ParsingState"), "class 'TestClass.ParsingState' found!"); Assert.IsNotNull(provider.Find("ParsingState"), "class 'ParsingState' not found"); }
public void TestNonStaticClassAccess() { CompletionResult provider = CodeCompletionBugTests.CreateProvider(testClass + @" void TestMethod () { $this.$ } }"); Assert.IsNotNull(provider, "provider == null"); CodeCompletionBugTests.CheckProtectedObjectMembers(provider); // 5 from System.Object 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")); Assert.IsNotNull(provider.Find("PrivField")); Assert.IsNotNull(provider.Find("PrivProperty")); Assert.IsNotNull(provider.Find("PrivMethod")); }
public void TestStaticClassAccess() { CompletionResult provider = CodeCompletionBugTests.CreateProvider(testClass + @" void TestMethod () { $TestClass.$ } }"); Assert.IsNotNull(provider, "provider == null"); CodeCompletionBugTests.CheckStaticObjectMembers(provider); // 2 from System.Object Assert.IsNotNull(provider.Find("PubStaticField")); Assert.IsNotNull(provider.Find("PubStaticProperty")); Assert.IsNotNull(provider.Find("PubStaticMethod")); Assert.IsNotNull(provider.Find("ProtStaticField")); Assert.IsNotNull(provider.Find("ProtStaticProperty")); Assert.IsNotNull(provider.Find("ProtStaticMethod")); Assert.IsNotNull(provider.Find("PrivStaticField")); Assert.IsNotNull(provider.Find("PrivStaticProperty")); Assert.IsNotNull(provider.Find("PrivStaticMethod")); }
public void TestUsingContext() { CompletionResult provider = CodeCompletionBugTests.CreateProvider(@"$using System.$"); Assert.IsNotNull(provider, "provider == null"); Assert.IsNotNull(provider.Find("IO"), "namespace 'IO' not found."); }
public void TestSubtractOperator() { CompletionResult provider = CodeCompletionBugTests.CreateProvider( @"class A { public static B operator-(A left, A right) { return new B (); } } class B { public void BMethod () { } } class TestClass { public void Test () { A a = new A (); A b = new A (); $(a - b).$ } }"); Assert.IsNotNull(provider); Assert.IsNotNull(provider.Find("BMethod")); }
public void TestImplicitGenericMethodParameterComplex() { CompletionResult provider = CodeCompletionBugTests.CreateProvider( @" using System; class SomeTemplate<T> { public T Val { get; set; } public SomeTemplate (T val) { this.Val = val; } } class Test { public T GetVal<T> (SomeTemplate<T> t) { return t.Val; } public void TestMethod () { SomeTemplate<Test> c = SomeTemplate<Test> (this); var x = GetVal (c); $x.$ } }"); Assert.IsNotNull(provider, "provider == null"); Assert.IsNotNull(provider.Find("TestMethod"), "method 'TestMethod' not found"); }
public void TestNamespaceAccess2() { CompletionResult provider = CodeCompletionBugTests.CreateProvider( @" namespace Foo.Bar { class B { } } namespace FooBar { using Foo; class Test { void TestMethod () { $Bar.$ } } }"); // either provider == null, or B not found if (provider != null) { Assert.IsNull(provider.Find("B"), "class 'B' found, but shouldn't"); } }
public void TestQueryExpression() { CompletionResult provider = CodeCompletionBugTests.CreateProvider( @" using System; using System.Collections.Generic; static class Linq { public static IEnumerable<T> Select<S, T> (this IEnumerable<S> collection, Func<S, T> func) { } } class Program { public void TestMethod () { } static void Main (string[] args) { Program[] numbers; foreach (var x in from n in numbers select n) { $x.$ } } } "); Assert.IsNotNull(provider, "provider == null"); Assert.IsNotNull(provider.Find("TestMethod"), "method 'TestMethod' not found."); }
public void TestDefaultParameterBug() { CompletionResult provider = CodeCompletionBugTests.CreateProvider( @" namespace Foo { class Data { public int Value = 5; } public class C { public void Foo (bool aBool = false) { Data data; $data.$ } } } "); Assert.IsNotNull(provider, "provider == null"); Assert.IsNotNull(provider.Find("Value"), "field 'Value' not found."); }
public void TestNamespaceAccess4() { CompletionResult provider = CodeCompletionBugTests.CreateCtrlSpaceProvider( @" namespace SomeTest.TestNS { class TestClass { } } namespace SomeTest { public class Program2 { public void Main () { $$ } } } "); Assert.IsNotNull(provider, "provider == null"); Assert.IsNotNull(provider.Find("TestNS"), "namespace 'TestNS' not found"); }
public void TestVarLoopVariable() { CompletionResult provider = CodeCompletionBugTests.CreateProvider( @"using System; class Test { public void TestMethod () { } } class Program { static void Main (string[] args) { var t = new Test[] {}; foreach (var loopVar in t) { $loopVar.$ } } } "); Assert.IsNotNull(provider, "provider == null"); Assert.IsNotNull(provider.Find("TestMethod"), "method 'TestMethod' not found."); }
public void TestUnaryBitwiseNotOperator() { CompletionResult provider = CodeCompletionBugTests.CreateProvider( @"class A { public static B operator~(A left) { return new B (); } } class B : A { public void BMethod () { } } class TestClass { public void Test () { A a = new A (); $(~a).$ } }"); Assert.IsNotNull(provider); Assert.IsNotNull(provider.Find("BMethod")); }
public void TestUnclosedMember2() { CompletionResult provider = CodeCompletionBugTests.CreateProvider( @"using System; namespace ConsoleTest { class MainClass { public static void Main (string[] args) { } public void Hello () { } } class Foo { void Hello () { $M$ } "); Assert.IsNotNull(provider, "provider == null"); Assert.IsNotNull(provider.Find("MainClass"), "class 'MainClass' not found"); }
public void TestImplicitGenericArrayMethodParameter() { CompletionResult provider = CodeCompletionBugTests.CreateProvider( @" public class TestClass { public static T[] Test<T> () { return default(T[]); } } public class Test { public void TestMethod () { var v = TestClass.Test<Test>(); $v[0].$ } } "); Assert.IsNotNull(provider, "provider == null"); Assert.IsNotNull(provider.Find("TestMethod"), "method 'TestMethod' not found"); }
public void TestInheritableTypeWhereContext() { CompletionResult provider = CodeCompletionBugTests.CreateProvider( @" class Test { public class Inner {} public static void Foo () {} } $class Test2<T> where T : Test.$ "); Assert.IsNotNull(provider, "provider == null"); Assert.IsNotNull(provider.Find("Inner"), "class 'Inner' not found."); Assert.IsNull(provider.Find("Foo"), "method 'Foo' found."); }
public void TestGenericParameterC() { CompletionResult provider = CodeCompletionBugTests.CreateCtrlSpaceProvider( @" class Foo<T> { public static void Bar<TValue> () { $ } } "); Assert.IsNotNull(provider, "provider == null"); Assert.IsNotNull(provider.Find("T"), "generic parameter 'T' not found"); Assert.IsNotNull(provider.Find("TValue"), "generic parameter 'TValue' not found"); }
public void TestBug491017() { CompletionResult provider = CodeCompletionBugTests.CreateProvider( @" using System.Linq; using System.Linq.Expressions; class Test { $object e = from entity in ""olololcolc"" select entity.$ } "); Assert.IsNotNull(provider, "provider == null"); Assert.IsNotNull(provider.Find("ToString"), "method 'ToString' not found."); Assert.IsNull(provider.Find("Length"), "property 'Length' found, but shouldn't (indicates wrong return type)."); }
public void TestLocalVariableNameContext() { CompletionResult provider = CodeCompletionBugTests.CreateCtrlSpaceProvider( @" public class TestMyLongName { public void Method () { $TestMyLongName $ } }"); Assert.IsNotNull(provider, "provider == null"); Assert.IsNotNull(provider.Find("testMyLongName"), "name 'testMyLongName' not found."); Assert.IsNotNull(provider.Find("myLongName"), "name 'myLongName' not found."); Assert.IsNotNull(provider.Find("longName"), "name 'longName' not found."); Assert.IsNotNull(provider.Find("name"), "name 'name' not found."); }
public void TestBasePublicMemberAccess() { CompletionResult provider = CodeCompletionBugTests.CreateProvider( testClass + @" class Test : TestClass { void Test () { $base.$ } } }"); Assert.IsNotNull(provider, "provider == null"); CodeCompletionBugTests.CheckObjectMembers(provider); Assert.IsNotNull(provider.Find("PubField"), "field 'PubField' not found."); Assert.IsNotNull(provider.Find("PubProperty"), "property 'PubProperty' not found."); Assert.IsNotNull(provider.Find("PubMethod"), "method 'PubMethod' not found."); }
public void TestExternalStaticClassAccess() { CompletionResult provider = CodeCompletionBugTests.CreateProvider(testClass + @"} class AClass { void TestMethod () { $TestClass.$ } }"); Assert.IsNotNull(provider, "provider == null"); CodeCompletionBugTests.CheckStaticObjectMembers(provider); // 2 members Assert.IsNotNull(provider.Find("PubStaticField")); Assert.IsNotNull(provider.Find("PubStaticProperty")); Assert.IsNotNull(provider.Find("PubStaticMethod")); }
public void TestAnonymousType() { CompletionResult provider = CodeCompletionBugTests.CreateProvider( @" class Program { static void Main (string[] args) { var t = new { TestInt = 6, TestChar='e', TestString =""Test""}; $t.$ } } "); Assert.IsNotNull(provider, "provider == null"); Assert.IsNotNull(provider.Find("TestInt"), "property 'TestInt' not found."); Assert.IsNotNull(provider.Find("TestChar"), "property 'TestChar' not found."); Assert.IsNotNull(provider.Find("TestString"), "property 'TestString' not found."); }
public void TestExternalNonStaticClassAccess() { CompletionResult provider = CodeCompletionBugTests.CreateProvider(testClass + @"} class AClass { void TestMethod () { TestClass c; $c.$ } }"); Assert.IsNotNull(provider, "provider == null"); CodeCompletionBugTests.CheckObjectMembers(provider); Assert.IsNotNull(provider.Find("PubField")); Assert.IsNotNull(provider.Find("PubProperty")); Assert.IsNotNull(provider.Find("PubMethod")); }
public void TestBasePrivateMemberAccess() { CompletionResult provider = CodeCompletionBugTests.CreateProvider( testClass + @" } class Test : TestClass { void Test () { $base.$ } }"); Assert.IsNotNull(provider, "provider == null"); Assert.IsNull(provider.Find("PrivField"), "field 'PrivField' found, but shouldn't."); Assert.IsNull(provider.Find("PrivProperty"), "property 'PrivProperty' found, but shouldn't."); Assert.IsNull(provider.Find("PrivMethod"), "method 'PrivMethod' found, but shouldn't."); }
public void TestEnumAssignment() { CompletionResult provider = CodeCompletionBugTests.CreateCtrlSpaceProvider( @" public enum TestEnum { A, B, C} class TestClass { public void Foo () { $TestEnum test = $ } }"); Assert.IsNotNull(provider, "provider not found."); Assert.IsNotNull(provider.Find("TestEnum"), "enum 'TestEnum' not found."); Assert.IsNotNull(provider.Find("TestEnum.A"), "enum 'TestEnum.A' not found."); Assert.IsNotNull(provider.Find("TestEnum.B"), "enum 'TestEnum.B' not found."); Assert.IsNotNull(provider.Find("TestEnum.C"), "enum 'TestEnum.C' not found."); }
public void TestInheritableTypeContextCase2() { CompletionResult provider = CodeCompletionBugTests.CreateProvider( @" namespace A { class Test { public class Inner {} public static void Foo () {} } class Test2 $: Test.$ { } } "); Assert.IsNotNull(provider, "provider == null"); Assert.IsNotNull(provider.Find("Inner"), "class 'Inner' not found."); Assert.IsNull(provider.Find("Foo"), "method 'Foo' found."); }
public void TestEnumAsParameterCase2() { CompletionResult provider = CodeCompletionBugTests.CreateCtrlSpaceProvider( @" public enum TestEnum { A, B, C} class TestClass { void Bar (int a, TestEnum test) {} public void Foo () { $Bar (5, $ } }"); Assert.IsNotNull(provider, "provider not found."); Assert.IsNotNull(provider.Find("TestEnum"), "enum 'TestEnum' not found."); Assert.IsNotNull(provider.Find("TestEnum.A"), "enum 'TestEnum.A' not found."); Assert.IsNotNull(provider.Find("TestEnum.B"), "enum 'TestEnum.B' not found."); Assert.IsNotNull(provider.Find("TestEnum.C"), "enum 'TestEnum.C' not found."); }