public void CodeCompletionServicesGetFunctionSignatures() { //Arrange string ffiTargetClass = "CodeCompletionClass"; string functionName = "foo"; string code = @"x[y[z.foo()].goo("; var codeCompletionServices = new CodeCompletionServices(libraryServicesCore); //Act //We pass an empty string in the third parameter (functionPrefix) so will execute a specific section of the code var overloads = codeCompletionServices.GetFunctionSignatures(code, functionName, ""); //Assert Assert.IsNotNull(overloads); //Act //We pass a ElementResolver parameter in the fourth parameter so will execute a specific section of the code overloads = codeCompletionServices.GetFunctionSignatures(code, functionName, ffiTargetClass, new ElementResolver()); //Assert Assert.IsNotNull(overloads); Assert.AreEqual(overloads.Count(), 0); }
public void TestCtorSignatureCompletion() { string ffiTargetClass = "CodeCompletionClass"; string functionName = "CodeCompletionClass"; var codeCompletionServices = new CodeCompletionServices(libraryServicesCore); string code = ""; var overloads = codeCompletionServices.GetFunctionSignatures(code, functionName, ffiTargetClass); // Expected 3 "CodeCompletionClass" ctor overloads Assert.AreEqual(3, overloads.Count()); foreach (var overload in overloads) { Assert.AreEqual(functionName, overload.Text); } Assert.AreEqual("CodeCompletionClass (i1 : int, i2 : int, i3 : int)", overloads.ElementAt(2).Stub); }
public void TestStaticMethodSignatureCompletion() { var codeCompletionServices = new CodeCompletionServices(libraryServicesCore); string ffiTargetClass = "CodeCompletionClass"; string functionName = "StaticFunction"; string code = ""; var overloads = codeCompletionServices.GetFunctionSignatures(code, functionName, ffiTargetClass); // Expected 1 "StaticFunction" method overload Assert.AreEqual(1, overloads.Count()); foreach (var overload in overloads) { Assert.AreEqual(functionName, overload.Text); } Assert.AreEqual("StaticFunction : int ()", overloads.ElementAt(0).Stub); }
public void TestBuiltInMethodSignatureCompletion() { var codeCompletionServices = new CodeCompletionServices(libraryServicesCore); string functionPrefix = ""; string functionName = "Count"; string code = ""; var overloads = codeCompletionServices.GetFunctionSignatures(code, functionName, functionPrefix); // Expected 1 "AddWithValueContainer" method overloads Assert.AreEqual(1, overloads.Count()); foreach (var overload in overloads) { Assert.AreEqual(functionName, overload.Text); } Assert.AreEqual("Count : int (array : [])", overloads.ElementAt(0).Stub); }
public void TestMethodSignatureCompletion() { var codeCompletionServices = new CodeCompletionServices(libraryServicesCore); string functionPrefix = "a"; string ffiTargetClass = "CodeCompletionClass"; string functionName = "OverloadedAdd"; string code = string.Format("{0} : {1};", functionPrefix, ffiTargetClass); var overloads = codeCompletionServices.GetFunctionSignatures(code, functionName, functionPrefix); // Expected 2 "OverloadedAdd" method overloads Assert.AreEqual(2, overloads.Count()); foreach (var overload in overloads) { Assert.AreEqual(functionName, overload.Text); } Assert.AreEqual("OverloadedAdd : int (cf : ClassFunctionality)", overloads.ElementAt(0).Stub); }
public void TestMethodSignatureReturnTypeCompletion() { var codeCompletionServices = new CodeCompletionServices(libraryServicesCore); string functionPrefix = "a"; string ffiTargetClass = "CodeCompletionClass"; string functionName = "AddWithValueContainer"; string code = string.Format("{0} : {1};", functionPrefix, ffiTargetClass); var overloads = codeCompletionServices.GetFunctionSignatures(code, functionName, functionPrefix); // Expected 1 "AddWithValueContainer" method overloads Assert.AreEqual(1, overloads.Count()); foreach (var overload in overloads) { Assert.AreEqual(functionName, overload.Text); } var expected = "AddWithValueContainer : ValueContainer[] (valueContainer : ValueContainer)"; Assert.AreEqual(expected, overloads.ElementAt(0).Stub); }