Exemple #1
0
        public async Task Then_The_Endpoint_Is_Called_And_Find_Data_Returned(
            OsPlacesApiResponse osPlacesApiResponse, string query, double minMatch, int matchPrecision)
        {
            // Arrange
            var response = new HttpResponseMessage
            {
                Content    = new StringContent(JsonConvert.SerializeObject(osPlacesApiResponse)),
                StatusCode = System.Net.HttpStatusCode.Accepted
            };

            var minMatchBase = Math.Round(minMatch, 1, MidpointRounding.ToZero);
            var config       = new LocationApiConfiguration {
                OsPlacesApiKey = Guid.NewGuid().ToString()
            };

            var httpMessageHandler = MessageHandler.SetupMessageHandlerMock(response,
                                                                            new Uri(string.Format(Constants.OsPlacesFindUrl, config.OsPlacesApiKey, query, "dpa", minMatchBase, matchPrecision)));
            var client = new HttpClient(httpMessageHandler.Object);

            var osPlacesApiService = new OsPlacesApiService(client, config);

            // Act
            var actual = await osPlacesApiService.FindFromDpaDataset(query, minMatch);

            // Assert
            actual.Should().BeEquivalentTo(osPlacesApiResponse.Results.Select(p => (SuggestedAddress)p.Dpa));
        }
Exemple #2
0
        public async Task Then_If_NotFound_Result_Then_Service_Returns_Null()
        {
            var response = new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.NotFound,
            };

            // Arrange
            var query  = "AB1 1AB";
            var config = new LocationApiConfiguration {
                OsPlacesApiKey = Guid.NewGuid().ToString()
            };

            var httpMessageHandler = MessageHandler.SetupMessageHandlerMock(response,
                                                                            new Uri(string.Format(Constants.OsPlacesFindUrl, config.OsPlacesApiKey, query, "dpa", 0.4, 1)));
            var client = new HttpClient(httpMessageHandler.Object);

            var osPlacesApiService = new OsPlacesApiService(client, config);

            // Act
            var actual = await osPlacesApiService.FindFromDpaDataset(query, 0.4);

            // Assert
            actual.Should().BeEmpty();
        }
Exemple #3
0
        public void Then_If_Arguments_Are_Out_Of_Range_An_Expception_Is_Thrown()
        {
            var response = new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.BadRequest,
            };

            // Arrange
            var query  = "AB1 1AB";
            var config = new LocationApiConfiguration {
                OsPlacesApiKey = Guid.NewGuid().ToString()
            };

            var httpMessageHandler = MessageHandler.SetupMessageHandlerMock(response,
                                                                            new Uri(string.Format(Constants.OsPlacesFindUrl, config.OsPlacesApiKey, query, "dpa", 1.1, 1)));
            var client = new HttpClient(httpMessageHandler.Object);

            var osPlacesApiService = new OsPlacesApiService(client, config);

            // Act & Assert
            Assert.ThrowsAsync <ArgumentOutOfRangeException>(() => osPlacesApiService.FindFromDpaDataset(query, 1.1));
        }