public async Task CoordendasPorEnderecoTest() { var mockRequestJSON = new Mock<IRequestJSON>(); mockRequestJSON.Setup(t => t.GetJSON(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync("{ addresses: [{ addressLine: { location: { coordinates : [100, 200] } } }]}"); IGeocodificacaoApi geocodificacaoApi = new GeocodificacaoApiV0(mapLinkSignature, mockRequestJSON.Object, apiConfig); var endereco = new EnderecoModel { Rua = "Rua", Numero = 100, Cidade = "Cidade", Estado = "Estado" }; var coordendas = await geocodificacaoApi.CoordendasPorEndereco(endereco); Assert.AreEqual(coordendas.Latitude, 200.0); Assert.AreEqual(coordendas.Longitude, 100.0); }
public async Task CoordendasPorEnderecoNaoEncontradoTest() { var mockRequestJSON = new Mock<IRequestJSON>(); mockRequestJSON.Setup(t => t.GetJSON(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(null); IGeocodificacaoApi geocodificacaoApi = new GeocodificacaoApiV0(mapLinkSignature, mockRequestJSON.Object, apiConfig); var endereco = new EnderecoModel { Rua = "Rua", Numero = 100, Cidade = "Cidade", Estado = "Estado" }; try { var coordendas = await geocodificacaoApi.CoordendasPorEndereco(endereco); } catch(CoordenadasNaoEcontradasException ex) { Assert.AreEqual(ex.Message, "Endereços não encontrados, rua: 'Rua', numero: '100', cidade: 'Cidade', estado: 'Estado'"); throw ex; } }
public async Task CoordendasPorEnderecoSemEnderecoTest() { var mockRequestJSON = new Mock<IRequestJSON>(); mockRequestJSON.Setup(t => t.GetJSON(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(null); IGeocodificacaoApi geocodificacaoApi = new GeocodificacaoApiV0(mapLinkSignature, mockRequestJSON.Object, apiConfig); var endereco = new EnderecoModel { Rua = "Rua", Estado = "Estado" }; try { var coordendas = await geocodificacaoApi.CoordendasPorEndereco(endereco); } catch (ArgumentException ex) { Assert.AreEqual(ex.Message, "Endereço inválido"); throw ex; } }
public async Task CoordendasPorEnderecoJSONInvalidoTest() { var mockRequestJSON = new Mock<IRequestJSON>(); mockRequestJSON.Setup(t => t.GetJSON(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync("{ addresses: { addressLine: { location: { coordinates : [100, 200] } } }}"); IGeocodificacaoApi geocodificacaoApi = new GeocodificacaoApiV0(mapLinkSignature, mockRequestJSON.Object, apiConfig); var endereco = new EnderecoModel { Rua = "Rua", Numero = 100, Cidade = "Cidade", Estado = "Estado" }; try { var coordendas = await geocodificacaoApi.CoordendasPorEndereco(endereco); } catch (ArgumentException ex) { Assert.AreEqual(ex.Message, "Erro ao realizar a busca de um dos endereços"); throw ex; } }