public void ConvertirAPedidos_PedidoConDistanciaNoNumerica_ExcepcionFormato() { //Arrange List <string> lstLineas = new List <string>(); lstLineas.Add($"origen,destino,distancia incorrecta,paqueteria,medio,20/01/2020"); var SUT = new ConvertidorPedido(); //Assert Assert.ThrowsException <FormatException>(() => SUT.ConvertirAPedidos(lstLineas)); }
public void ConvertirAPedidos_PedidoConFormatoFechaIncorrecta_ExcepcionFormato() { //Arrange List <string> lstLineas = new List <string>(); lstLineas.Add($"origen,destino,80,paqueteria,medio,Fecha incorrecta"); var SUT = new ConvertidorPedido(); //Assert Assert.ThrowsException <FormatException>(() => SUT.ConvertirAPedidos(lstLineas)); }
public void ConvertirAPedidos_SinDatosPedido_ListaPedidoVacia() { //Arrange List <string> lstLineas = new List <string>(); var SUT = new ConvertidorPedido(); //Act var lstPedidos = SUT.ConvertirAPedidos(lstLineas); //Assert Assert.AreEqual(0, lstPedidos.Count); }
public void ConvertirAPedidos_DiferentesValoresDistanciaEntradaPedido_ListaPedidoContieneMismaDistanciaEnviada(double _dDistancia) { //Arrange List <string> lstLineas = new List <string>(); lstLineas.Add($"origen,destino,{_dDistancia},paqueteria,medio,28/01/2020"); var SUT = new ConvertidorPedido(); //Act var lstPedidos = SUT.ConvertirAPedidos(lstLineas); //Assert Assert.AreEqual(Convert.ToDecimal(_dDistancia), lstPedidos.FirstOrDefault().dDistancia); }
public void ConvertirAPedidos_DiferentesValoresDestinoEntradaPedido_ListaPedidoContieneMismoDestinoEnviado(string _cDestino) { //Arrange List <string> lstLineas = new List <string>(); lstLineas.Add($"origen,{_cDestino},80,paqueteria,medio,28/01/2020"); var SUT = new ConvertidorPedido(); //Act var lstPedidos = SUT.ConvertirAPedidos(lstLineas); //Assert Assert.AreEqual(_cDestino, lstPedidos.FirstOrDefault().cDestino); }
public void ConvertirAPedidos_PedidosEntradaSinCorrectoNumeroDatos_ListaPedidoSinElementos(string _cDatoPedido) { //Arrange List <string> lstLineas = new List <string>(); lstLineas.Add($"{_cDatoPedido}"); var SUT = new ConvertidorPedido(); //Act var lstPedidos = SUT.ConvertirAPedidos(lstLineas); //Assert Assert.AreEqual(0, lstPedidos.Count); }
public void ConvertirAPedidos_DiferentesFechasEntradaPedido_ListaPedidoContieneMismasFechasEnviadas(string _cFechaPedido) { //Arrange List <string> lstLineas = new List <string>(); lstLineas.Add($"origen,destino,80,paqueteria,medio,{_cFechaPedido}"); var SUT = new ConvertidorPedido(); //Act var lstPedidos = SUT.ConvertirAPedidos(lstLineas); //Assert Assert.AreEqual(Convert.ToDateTime(_cFechaPedido), lstPedidos.FirstOrDefault().dtPedido); }
public void ConvertirAPedidos_PedidoCorrecto_ListaPedidoConDatos() { //Arrange List <string> lstLineas = new List <string>(); lstLineas.Add("origen,destino,80,paqueteria,medio,28/01/2020"); var SUT = new ConvertidorPedido(); //Act var lstPedidos = SUT.ConvertirAPedidos(lstLineas); //Assert Assert.IsTrue(lstPedidos.Any()); }
public void ConvertirAPedidos_PedidosConDosEntradas_ListaPedidoConDosPedidos() { //Arrange List <string> lstLineas = new List <string>(); lstLineas.Add("origen,destino,80,paqueteria,medio,28/01/2020"); lstLineas.Add("origen1,destino1,80,paqueteria1,medio1,28/01/2020"); var SUT = new ConvertidorPedido(); //Act var lstPedidos = SUT.ConvertirAPedidos(lstLineas); //Assert Assert.AreEqual(2, lstPedidos.Count); }
public void RastrearPedidos() { string cRutaPedidos = @"..\..\Pedidos.txt"; string cEstadoPedido = string.Empty; string cRangoTiempo = string.Empty; string cCosto = string.Empty; string cRespuesta = string.Empty; List <IEmpresa> lstEmpresas; List <IMetodoEnvio> lstMetodosEnvio; IEmpresa empresaPedido; IPresentadorDatos presentador = new Presentadores.PresentadorDatos(); DateTime dtActual = DateTime.Now; try { #region [Instancias de clases] CreadorEmpresas creadorEmpresas = new CreadorEmpresas(); CreadorMetodosEnvio creadorMetodosEnvio = new CreadorMetodosEnvio(); CreadorRangosTiempo creadorRangosTiempo = new CreadorRangosTiempo(); CreadorValidaciones credorValidaciones = new CreadorValidaciones(); IConvertidorPedido convertidorPedido = new ConvertidorPedido(); ILectorArchivo lectorArchivo = new LectorArchivoTexto(convertidorPedido); CreadorValidaciones validaciones = new CreadorValidaciones(); ContextColor contextColor = new ContextColor(); IVerificadorEstadoPaquete verificadorEstadoPaquete = new VerificadorEstadoPaquete(dtActual); IVerificadorCostoEconomico verificadorEconomico = new VerificadorEconomicoMismoMedio(); #endregion IRangoTiempo rangoTiempo = creadorRangosTiempo.ConfigurarRangosTiempo(); IValidadorPedido validadorPedido = validaciones.CrearCadenaValidaciones(); List <PedidoDTO> lstPedidos = lectorArchivo.LeerArchivoAListaPedidos(cRutaPedidos); lstMetodosEnvio = creadorMetodosEnvio.CrearMetodoEnvio(); lstEmpresas = creadorEmpresas.GenerarEmpresas(lstMetodosEnvio); foreach (var pedido in lstPedidos) { cRespuesta = validadorPedido.RealizarValidacion(new List <PedidoDTO> { pedido }, lstEmpresas); if (string.IsNullOrWhiteSpace(cRespuesta)) { empresaPedido = lstEmpresas.Where(e => e.empresaDTO.cNombre.ToLower() == pedido.cPaqueteria.ToLower().Trim()).FirstOrDefault(); cEstadoPedido = empresaPedido.ObtenerEstadoPaquete(pedido, verificadorEstadoPaquete); cRangoTiempo = empresaPedido.CalcularRangoTiempo(pedido, dtActual, rangoTiempo); cCosto = empresaPedido.ObtenerCosto(pedido.dDistancia, verificadorEstadoPaquete); AplicarColorPorPedido(verificadorEstadoPaquete.VerificarPaqueteEntregado(), contextColor); cRespuesta = $"{cEstadoPedido} {cRangoTiempo} {cCosto} (cualquier reclamación con {empresaPedido.empresaDTO.cNombre})."; string cOpcionEconomica = verificadorEconomico.ObtenerOpcionMasEconomica(empresaPedido, lstEmpresas, pedido.dDistancia); if (!string.IsNullOrWhiteSpace(cOpcionEconomica)) { cRespuesta += $"\n*{cOpcionEconomica}"; } } else { AplicarColorValidacion(contextColor); } presentador.MostrarDatos(cRespuesta); } } catch (Exception excepcion) { presentador.MostrarDatos(excepcion.Message.Trim()); } }