Exemple #1
0
        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);
        }
Exemple #2
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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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);
        }