public void DeveRetornarUmaDistanciaMenorQue500metros() { //assert var pos1 = new Domain.ValueObjects.Localizacao( latitude: -8.771593, longitude: -63.847208 ); var pos2 = new Domain.ValueObjects.Localizacao( latitude: -8.76983, longitude: -63.84870 ); //act var distancia = calculadoraDeDistanciaGeografica.HaversineDistance(pos1, pos2); //arrange Assert.True(distancia < 500); }
public async Task <List <Domain.Entities.Parada> > Executar(double latitude, double longitude, int raioEmMetros) { var paradasMaisProximas = new List <Domain.Entities.Parada>(); var paradas = await context.Paradas.ToListAsync(); foreach (var item in paradas) { var distancia = calculadoraDeDistanciaGeografica.HaversineDistance(new Localizacao(latitude, longitude), item.Localizacao); if (distancia < raioEmMetros) { paradasMaisProximas.Add(item); } } return(paradasMaisProximas); }