示例#1
0
        public async void Http_trigger_should_return_known_string_from_member_data(string queryStringKey, string queryStringValue)
        {
            var request  = TestFactory.CreateHttpRequest(queryStringKey, queryStringValue);
            var response = (OkObjectResult)await Function1.Run(request, logger);

            Assert.Equal($"Hello, {queryStringValue}", response.Value);
        }
        public IRouteComponent Map(Function1 fn)
        {
            switch (fn)
            {
            case Function1.AbsValue:
                return(applyMath(Operation.AbsValue, 0));

            case Function1.Rms:
                if (source is FloatVectorDataType)
                {
                    return(createCombiner(source, false));
                }
                throw new IllegalRouteOperationException("Cannot map data to RMS function");

            case Function1.Rss:
                if (source is FloatVectorDataType)
                {
                    return(createCombiner(source, true));
                }
                throw new IllegalRouteOperationException("Cannot map data to RSS function");

            case Function1.Sqrt:
                return(applyMath(Operation.Sqrt, 0));
            }
            throw new Exception("Just here so compiler doesn't complain");
        }
示例#3
0
        public async void HttpTriggerWithoutParams()
        {
            var request  = TestFactory.CreateHttpRequest("", "");
            var response = (OkObjectResult)await Function1.Run(request, logger);

            Assert.Equal("Hello there! Welcome to Azure Functions!", response.Value);
        }
        public void Function1HelloTest()
        {
            _durableActivityContextMock.Setup(x => x.GetInput <string>()).Returns("John");
            var result = Function1.SayHello(_durableActivityContextMock.Object, _loggerMock.Object);

            Assert.Equal("Hello John!", result);
        }
示例#5
0
        /// <summary>
        /// ВЫвод минимума функции для делегата Function1
        /// </summary>
        /// <param name="x1"></param>
        /// <param name="x2"></param>
        /// <param name="step"></param>
        /// <param name="func"></param>
        private static void minFunc1(double x1, double x2, double step, Function1 func)
        {
            string result = func(x1, x2, step);

            Console.WriteLine();
            Console.WriteLine($"Минимум функции в точке: {result}");
        }
        public async System.Threading.Tasks.Task <int> Test1Async(string body)
        {
            DefaultHttpRequest request = TestFactory.CreateHttpRequest(body);
            var response = (OkObjectResult)await Function1.Run1(request, logger);

            return((int)response.Value);
        }
示例#7
0
        public async Task Function1Test()
        {
            var logMock = new Mock <ILogger <Application> >();

            loggerMock = logMock.Object;
            var loggingMock = new Mock <ILogger>();

            client = new DocumentClient(new Uri(endpointUrl), authorizationKey);
            var uri = UriFactory.CreateDocumentCollectionUri(databaseId, collectionId);

            var doc = new Document();

            doc.SetPropertyValue("name", "jay");
            List <Document> documents = new List <Document>();

            doc = await client.CreateDocumentAsync(
                "/dbs/MyDB/colls/MyCollection", doc, null);

            documents.Add(doc);
            Console.WriteLine("insert success");

            var result = Function1.Run(documents, loggingMock.Object, new Application(loggerMock));

            Assert.AreEqual("krati", result);
        }
示例#8
0
        public void Run()
        {
            // Arrange

            var toDo =
                new ToDo
            {
                Description = $"description-{Guid.NewGuid()}"
            };

            // Act

            var actionResult =
                Function1.Run(toDo, _logger);

            // Assert

            Assert.IsType <OkObjectResult>(actionResult);

            var okObjectResult =
                (OkObjectResult)actionResult;

            Assert.IsType <ToDo>(okObjectResult.Value);

            toDo =
                (ToDo)okObjectResult.Value;

            var expectedDataStore =
                nameof(ToDoSample1DataStore);

            Assert.Equal(expectedDataStore, toDo.DataStore);
        }
示例#9
0
        public void ResourceGroupNameTest()
        {
            var name = Function1.MakeName(Region.AustraliaSouthEast, new System.Uri("http://veryverylong-url-thatneedstobeshortened.com"), Guid.NewGuid());

            Console.WriteLine(name);
            Assert.AreEqual(90, name.Length);
        }
示例#10
0
        public async void Http_trigger_should_return_known_string()
        {
            var request  = TestFactory.CreateHttpRequest("name", "Bill");
            var response = (OkObjectResult)await Function1.Run(request, logger);

            Assert.Equal("Hello, Bill", response.Value);
        }
示例#11
0
        static void Main(string[] args)
        {
            //Вяльшина Вероника

            /*2. Модифицировать программу нахождения минимума функции так, чтобы можно было передавать функцию в виде делегата.
             * б) Используйте массив (или список) делегатов, в котором хранятся различные функции.*/
            List <Function1> values1 = new List <Function1>();

            values1.Add(functionA);
            values1.Add(functionB);
            List <Function2> values2 = new List <Function2>();

            values2.Add(functionC);
            values2.Add(functionD);
            double x1, x2, step;

            int f = functionSelection();

            switch (f)
            {
            case 1:
                Console.WriteLine("Вы выбрали функцию y = 2x^3 - 4x^2 + 6x");
                Function1 func1 = new Function1(values1[0]);
                setSegment(out x1, out x2, out step);
                minFunc1(x1, x2, step, func1);
                break;

            case 2:
                Console.WriteLine("Вы выбрали функцию y = 6x^2 - 5x");
                func1 = new Function1(values1[1]);
                setSegment(out x1, out x2, out step);
                minFunc1(x1, x2, step, func1);
                break;

            case 3:
                Console.WriteLine("Вы выбрали функцию y = 4x^2");
                Function2 func2 = new Function2(values2[0]);
                setSegment(out x1, out x2, out step);
                minFunc2(x1, x2, step, func2);
                break;

            case 4:
                Console.WriteLine("Вы выбрали функцию y = 3x");
                func2 = new Function2(values2[1]);
                setSegment(out x1, out x2, out step);
                minFunc2(x1, x2, step, func2);
                break;

            default:
                Console.WriteLine("Вы ничего не выбрали. Будет показана работа функции y=2x^3 - 4x^2 + 6x");
                func1 = new Function1(values1[0]);
                setSegment(out x1, out x2, out step);
                minFunc1(x1, x2, step, func1);
                break;
            }


            Pause();
        }
示例#12
0
        public void KleisliIntoSimple()
        {
            var composed = Function1.Into(Function2);
            var result   = composed(value)(stateInstance);

            Assert.Equal(stateInstance, result.Item1);
            Assert.Equal(value + 1, result.Item2);
        }
示例#13
0
        public void KleisliSelectManyFull()
        {
            var composed = Function1.Into(Function2, (a, b) => a + b);

            var result = composed(value)(stateInstance);

            Assert.Equal(stateInstance, result.Item1);
            Assert.Equal(value + value + 1, result.Item2);
        }
示例#14
0
        public async Task Request_Without_Query_And_Body()
        {
            var query  = new Dictionary <String, StringValues>();
            var body   = "";
            var result = await Function1.Run(HttpRequestSetup(query, body), _primary, _logger);

            var resultObject = (BadRequestObjectResult)result;

            Assert.AreEqual("Please pass a name on the query string or in the request body", resultObject.Value);
        }
示例#15
0
        async Task HttpTriggerWithParams()
        {
            HttpRequestMessage request = new HttpRequestMessage();

            request.Content = new StringContent("{'name': 'Bill'}", System.Text.Encoding.UTF8, "application/json");
            request.SetConfiguration(new System.Web.Http.HttpConfiguration());
            var result = await Function1.Run(request, fakeTraceWriter);

            (await result.Content.ReadAsStringAsync()).Should().Equal($"\"Hello Bill! Welcome to Azure Functions!\"");
        }
            private static List <B> getFieldWithCondition <B>(
                Function1 <bool, Customer2> condition,
                Function1 <B, Customer2> getField)
            {
                // using LINQ
                var x = from customer in allCustomers
                        where condition(customer)
                        select getField(customer);

                return(x.ToList());
            }
示例#17
0
        public async Task Request_Without_Query()
        {
            var query = new Dictionary <String, StringValues>();
            var body  = "{\"name\":\"lee\"}";

            var result = await Function1.Run(HttpRequestSetup(query, body), _primary, _logger);

            var resultObject = (OkObjectResult)result;

            Assert.AreEqual("Hello, You sent me hello lee. Thank you for calling me! Have a nice day!", resultObject.Value);
        }
示例#18
0
        public Signalling(string serverUrl, string name, string sessionId, Function1 <PeerClient, Connection> createConnection, Action2 <string, string> onReceivedText)
        {
            ServerUrl        = serverUrl;
            SessionId        = sessionId;
            UserName         = name;
            CreateConnection = createConnection;
            UserId           = Guid.NewGuid().ToString();
            OnReceivedText   = onReceivedText;

            DefineChannels();
        }
示例#19
0
        public async Task Request_WithNaturalParameterUndefined_ErrorRespose()
        {
            var query  = new Dictionary <String, StringValues>();
            var body   = "";
            var logger = Mock.Of <ILogger>(); //using Moq for example
            var result = await Function1.Run(req : HttpRequestSetup(query, body), log : logger);

            var resultObject = (BadRequestObjectResult)result;

            Assert.AreEqual("Please pass a natural number (positve integer) natural on the query string or in the request body", resultObject.Value);
            Assert.AreEqual((int)HttpStatusCode.BadRequest, resultObject.StatusCode.Value);
        }
示例#20
0
        public async Task Request_With_Query()
        {
            var query = new Dictionary <String, StringValues>();

            query.TryAdd("name", "kathy");
            var body = "";

            var result = await Function1.Run(req : HttpRequestSetup(query, body), primaryInterface : _primary, log : _logger);

            var resultObject = (OkObjectResult)result;

            Assert.AreEqual("Hello, You sent me hello kathy. Thank you for calling me! Have a nice day!", resultObject.Value);
        }
示例#21
0
        public void RunAsync_when_name_not_specfied_then_should_show_instruction()
        {
            var query = new Dictionary <string, StringValues>();

            var req = CreateHttpRequest(query, "");

            var function1 = new Function1(Mock.Of <IConfiguration>());

            var result = (OkObjectResult)function1.Run(req, Mock.Of <ILogger>());

            result.StatusCode.Should().Be(StatusCodes.Status200OK);
            result.Value.Should().Be("This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.");
        }
示例#22
0
        public async Task Request_WithNaturalDefinedButNoNaturalValue_ErrorRespose()
        {
            var query = new Dictionary <String, StringValues>();

            query.TryAdd("natural", "ushio");
            var body   = "";
            var logger = Mock.Of <ILogger>();
            var result = await Function1.Run(req : HttpRequestSetup(query, body), log : logger);

            var response = (BadRequestObjectResult)result;

            Assert.AreEqual("Please pass a natural number (positve integer) natural on the query string or in the request body", response.Value);
            Assert.AreEqual((int)HttpStatusCode.BadRequest, response.StatusCode);
        }
示例#23
0
        public async Task Request_WithNaturalWellDefined_ReturnTrue()
        {
            var query = new Dictionary <String, StringValues>();

            query.TryAdd("natural", "2");
            var body   = "";
            var logger = Mock.Of <ILogger>();
            var result = await Function1.Run(req : HttpRequestSetup(query, body), log : logger);

            var response = (OkObjectResult)result;

            Assert.AreEqual("Is Even: True", response.Value);
            Assert.AreEqual((int)HttpStatusCode.OK, response.StatusCode);
        }
示例#24
0
        public void Should_log_hello_word_anton()
        {
            var name         = "Anton";
            var expectedName = name.ToUpper();
            var stringUppercaseServiceMock = Substitute.For <IStringUppercaseService>();
            var loggerMock = Substitute.For <ILogger <Function1> >();

            stringUppercaseServiceMock.Apply(Arg.Is <string>(v => v == name)).Returns(expectedName);
            var func1 = new Function1(stringUppercaseServiceMock, loggerMock);

            func1.Run("Anton");

            loggerMock.Received().LogInformation($"Hello word: {expectedName}");
        }
示例#25
0
            private static List <B> getEnabledCustomerField <B>(Function1 <B, Customer> getField)
            {
                List <B> outList = new List <B>();

                foreach (var customer in Customer.allCustomers)
                {
                    if (customer.enabled)
                    {
                        outList.Add(getField(customer));
                    }
                }

                return(outList);
            }
示例#26
0
        static public ConsCollection <O> Mapcar <O, I> (object functionSpecifier, System.Collections.Generic.ICollection <I> input)
        {
            if (input == null)
            {
                return(null);
            }
            Function1 <O, I>   function = ResolveFunctionSpecifier <Function1 <O, I> > (functionSpecifier);
            ConsCollection <O> answer   = null;

            foreach (I element in input)
            {
                answer = new ConsCollection <O> (function(element), answer);
            }
            return(CL.Reverse(answer));
        }
        public void CallHttp()
        {
            HttpContext context = new DefaultHttpContext();
            HttpRequest request = new DefaultHttpRequest(context)
            {
                Method = "GET",
                Body   = null
            };

            ILogger nullLogger = new NullLogger <string>();
            var     response   = Function1.Run(request, nullLogger) as OkObjectResult;

            Assert.NotNull(response);
            Assert.Equal(200, response.StatusCode);
        }
示例#28
0
        public async Task TestQuery()
        {
            var query = new Dictionary <String, StringValues>();

            query.TryAdd("name", "Michael");
            var body = "";

            IActionResult result = await Function1.Run(HttpRequestSetup(query, body), LoggerSetup());

            Console.WriteLine(result.ToString());
            // Assert what result came back and then do further assertions.
            OkObjectResult casted = (Microsoft.AspNetCore.Mvc.OkObjectResult)result;

            Console.WriteLine(casted.Value.ToString());
        }
示例#29
0
        public async Task Run_NoNameInQueryAndBody()
        {
            // Assert
            ListLogger  logger  = new ListLogger();
            HttpRequest request = FunctionTest.HttpRequestSetup(new Dictionary <string, StringValues>(), "");

            //act
            var response = await Function1.Run(request, logger);

            var resultObject = (OkObjectResult)response;

            // Assert
            Assert.AreEqual("This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.", resultObject.Value);
            Assert.IsTrue(logger.Logs.Contains("C# HTTP trigger function processed a request."));
        }
示例#30
0
        public void RunAsync_when_name_specfied_then_should_be_in_response()
        {
            var query = new Dictionary <string, StringValues>
            {
                { "name", new StringValues("Bob") }
            };

            var req = CreateHttpRequest(query, "");

            var function1 = new Function1(Mock.Of <IConfiguration>());

            var result = (OkObjectResult)function1.Run(req, Mock.Of <ILogger>());

            result.StatusCode.Should().Be(StatusCodes.Status200OK);
            result.Value.Should().Be("Hello, Bob. This HTTP triggered function executed successfully.");
        }