public async Task FSharpTasks_AreCorrectlyIndexed()
        {
            // Arrange
            MethodInfo method = typeof(FSharpFunctions.TestFunction).GetMethod("TaskTest",
                                                                               BindingFlags.Static | BindingFlags.Public);

            Assert.NotNull(method); // Guard

            FunctionIndexer indexer        = FunctionIndexerFactory.Create(CloudStorageAccount.DevelopmentStorageAccount);
            var             indexCollector = new TestIndexCollector();

            // Act & Assert
            await indexer.IndexMethodAsyncCore(method, indexCollector, CancellationToken.None);

            Assert.Contains(indexCollector.Functions, d => string.Equals(d.ShortName, "TestFunction.TaskTest"));
        }
        public void BindNonStringableParameter_FailsIndexing()
        {
            // Arrange
            MethodInfo method = typeof(DataBindingFunctionalTests).GetMethod("TryToBindNonStringableParameter",
                                                                             BindingFlags.Static | BindingFlags.NonPublic);

            Assert.NotNull(method); // Guard

            FunctionIndexer         indexer   = FunctionIndexerFactory.Create(CloudStorageAccount.DevelopmentStorageAccount);
            IFunctionIndexCollector stubIndex = new Mock <IFunctionIndexCollector>().Object;

            // Act & Assert
            Exception exception = Assert.Throws <InvalidOperationException>(
                () => indexer.IndexMethodAsyncCore(method, stubIndex, CancellationToken.None).GetAwaiter().GetResult());

            Assert.Equal("Can't bind parameter 'doubleValue' to type 'System.String'.",
                         exception.Message);
        }