public void OddNumber(BigInteger number)
        {
            // Assign
            _httpRequestMock.SetupGetQuery(new Dictionary <string, StringValues>()
            {
                { "number", number.ToString() }
            });

            // Act
            var response = OddOrEvenHttpTrigger.Run(
                _httpRequestMock.Object,
                _greeterTransientMock.Object,
                _greeterTransientMock.Object,
                _greeterScopedMock.Object,
                _greeterScopedMock.Object,
                _greeterSingletonMock.Object,
                _greeterSingletonMock.Object,
                _loggerMock.Object);

            // Assert
            Assert.IsType <OkObjectResult>(response);
            Assert.Equal("Odd", ((OkObjectResult)response).Value as string);

            // Verify
            _loggerMock.Verify(l => l.Log(LogLevel.Information, 0, It.IsAny <object>(), It.IsAny <Exception>(), It.IsAny <Func <object, Exception, string> >()), Times.Once);
            _loggerMock.Verify(l => l.Log(LogLevel.Error, 0, It.IsAny <object>(), It.IsAny <Exception>(), It.IsAny <Func <object, Exception, string> >()), Times.Never);
        }
        public void NonNumbers()
        {
            // Assign
            _httpRequestMock.SetupGetQuery(new Dictionary <string, StringValues>()
            {
                { "number", "I'm Even" }
            });

            // Act
            var response = OddOrEvenHttpTrigger.Run(
                _httpRequestMock.Object,
                _greeterTransientMock.Object,
                _greeterTransientMock.Object,
                _greeterScopedMock.Object,
                _greeterScopedMock.Object,
                _greeterSingletonMock.Object,
                _greeterSingletonMock.Object,
                _loggerMock.Object);

            // Assert
            Assert.IsType <BadRequestObjectResult>(response);
            Assert.Contains("Unable to parse", ((BadRequestObjectResult)response).Value as string);

            // Verify
            _loggerMock.Verify(l => l.Log(LogLevel.Information, 0, It.IsAny <object>(), It.IsAny <Exception>(), It.IsAny <Func <object, Exception, string> >()), Times.Once);
            _loggerMock.Verify(l => l.Log(LogLevel.Error, 0, It.IsAny <object>(), It.IsAny <Exception>(), It.IsAny <Func <object, Exception, string> >()), Times.Once);
        }