コード例 #1
0
        public void DistanciaSeguraModel_DistanciaEmMetrosIgualZero_False()
        {
            var distanciaSeguraModel = new DistanciaSeguraModel(0);

            var valido = distanciaSeguraModel.Valido();

            Assert.False(valido);
        }
コード例 #2
0
        public void DistanciaSeguraModel_DistanciaEmMetrosMaiorZero_True(int distanciaEmMetros)
        {
            var distanciaSeguraModel = new DistanciaSeguraModel(distanciaEmMetros);

            var valido = distanciaSeguraModel.Valido();

            Assert.True(valido);
        }
コード例 #3
0
        public bool PetEstaEmUmaDistanciaSegura(PetMonitorModel model, DistanciaSeguraModel configuracaoDistanciaSegura)
        {
            var distanciaPet = CalgularDistanciaEntreCoordenadas(model.CoordenadasGeograficasPet.Latitude,
                                                                 model.CoordenadasGeograficasPet.Longitude,
                                                                 model.CoordenadasGeograficasDono.Latitude,
                                                                 model.CoordenadasGeograficasDono.Longitude);

            return(distanciaPet <= configuracaoDistanciaSegura.Metros);
        }
コード例 #4
0
        public bool VerificarPetDistanciaSegura(DistanciaSeguraModel distancia, PetMonitorModel petMonitor)
        {
            var distanciaSegura = _distanciaSeguraService.PetEstaEmUmaDistanciaSegura(petMonitor, distancia);

            if (!distanciaSegura)
            {
                _notificacaoDistanciaSegura.SendMessage(petMonitor);
            }

            return(distanciaSegura);
        }
コード例 #5
0
        public ActionResult Edit(DistanciaSeguraViewModel model)
        {
            var distanciaSeguraModel = new DistanciaSeguraModel(model.Metros);

            if (distanciaSeguraModel.Valido())
            {
                distanciaSeguraModel.Alterar();
                return(RedirectToAction("Index"));
            }

            return(View(model));
        }
コード例 #6
0
        public void PetDentroDeUmaDistanciaSeguraTheory_False(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);

            // Act
            var petSeguro = _distanciaSeguraService.PetEstaEmUmaDistanciaSegura(_petMonitorModel, distanciaSeguramodel);

            // Assert
            Assert.False(petSeguro);
        }
コード例 #7
0
        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);

            // Act
            var petSeguro = _distanciaSeguraService.PetEstaEmUmaDistanciaSegura(_petMonitorModel, distanciaSeguramodel);

            // Assert
            Assert.False(petSeguro);
        }
コード例 #8
0
        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);
        }
コード例 #9
0
        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);
        }
コード例 #10
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));
            }
        }