public void PetNaoEstaDentroDeUmaDistanciaSegura_False()
        {
            // Arrange
            var distanciaSeguramodel = new DistanciaSeguraModel(15);

            _coordenadasPet  = new CoordenadasGeograficasModel(-21.733899, -48.098750);
            _coordenadasDono = new CoordenadasGeograficasModel(-21.733967, -48.098901);

            _petMonitorModel = new PetMonitorModel(_pet, _coordenadasPet, _coordenadasDono);

            _service = new PetDistanciaSeguraService(_distanciaSeguraService, _notificacaoDistanciaSegura.Object);

            // Act
            var petSeguro = _service.VerificarPetDistanciaSegura(distanciaSeguramodel, _petMonitorModel);

            // Assert
            Assert.False(petSeguro);
            _notificacaoDistanciaSegura.Verify(a => a.SendMessage(It.IsAny <PetMonitorModel>()), Times.Once);
        }
        public void PetDentroDeUmaDistanciaSeguraTheory_True(double latitudePet, double longitudePet, double latitudeDono, double longitudeDono, double distanciaSegura)
        {
            // Arrange
            var distanciaSeguramodel = new DistanciaSeguraModel(distanciaSegura);

            _coordenadasPet  = new CoordenadasGeograficasModel(latitudePet, longitudePet);
            _coordenadasDono = new CoordenadasGeograficasModel(latitudeDono, longitudeDono);

            _petMonitorModel = new PetMonitorModel(_pet, _coordenadasPet, _coordenadasDono);

            _service = new PetDistanciaSeguraService(_distanciaSeguraService, _notificacaoDistanciaSegura.Object);

            // Act
            var petSeguro = _service.VerificarPetDistanciaSegura(distanciaSeguramodel, _petMonitorModel);

            // Assert
            Assert.True(petSeguro);
            _notificacaoDistanciaSegura.Verify(a => a.SendMessage(It.IsAny <PetMonitorModel>()), Times.Never);
        }
예제 #3
0
        public IHttpActionResult DistanciaSeguraPet(PetMonitorViewModel viewModel)
        {
            try
            {
                var configuracaoDistanciaSegura = new DistanciaSeguraModel(4);

                var petModel = BuildarPetModel(viewModel);

                var petEstaSeguro = _service.VerificarPetDistanciaSegura(configuracaoDistanciaSegura, petModel);

                return(Ok(new RetornoApiModel {
                    PetSeguro = petEstaSeguro
                }));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }