public void ObtenerInformacionPedidoPaquete_PedidoDHLAereo100KM_MensajeConInformacionPedido() { //Arrange PedidoDTO pedido = CrearEntidadPedidoDTOPrueba(); DateTime dtFechaActual = DateTime.Now; string cMensajeEsperado = "Tu paquete ha salido de Pekin, China y llegará a Cancún, México dentro de 4 meses y tendrá un costo de $6,829,800(Cualquier reclamación con DHL)."; var docMensajePedidoPaquete = new Mock <IMensajePedidoPaquete>(); docMensajePedidoPaquete.Setup(doc => doc.ObtenerMensajePedidoPaquete(It.IsAny <PedidoDTO>(), It.IsAny <DateTime>(), It.IsAny <DateTime>(), It.IsAny <decimal>(), It.IsAny <decimal>())).Returns(cMensajeEsperado); var docTiempoEntrega = new Mock <ITiempoEntrega>(); docTiempoEntrega.Setup(doc => doc.ObtenerTiempoEntrega(It.IsAny <decimal>(), It.IsAny <EnumMedioTransporte>())).Returns(172800M); var docFechaEntrega = new Mock <IFechaEntrega>(); docFechaEntrega.Setup(doc => doc.ObtenerFechaEntrega(It.IsAny <DateTime>(), It.IsAny <int>())).Returns(new DateTime(2020, 1, 23, 14, 0, 0)); var docCostoEnvio = new Mock <ICostoEnvio>(); docCostoEnvio.Setup(doc => doc.ObtenerCostoEnvio(It.IsAny <EnumEmpresa>(), It.IsAny <DateTime>(), It.IsAny <decimal>())).Returns(6829800M); //Act ProcesadorInformacionPedidoPaquete SUT = new ProcesadorInformacionPedidoPaquete(docMensajePedidoPaquete.Object, docTiempoEntrega.Object, docFechaEntrega.Object, docCostoEnvio.Object); string cMensajeInformacion = SUT.ObtenerInformacionPedidoPaquete(pedido, dtFechaActual); //Assert Assert.AreEqual(cMensajeEsperado, cMensajeInformacion); }
private static List <string> ObtenerMensajesPedido(List <PedidoDTO> _lstPedidoDTO) { DateTime dtFechaActual = new DateTime(2020, 1, 23, 14, 0, 0); var docContainer = Container.For <DI_Dependencias>(); TiempoRepartoFactory tiempoRepartoFactory = new TiempoRepartoFactory(docContainer); TiempoTrasladoFactory tiempoTrasladoFactory = new TiempoTrasladoFactory(); MensajePedidoPaquete mensajePedidoPaquete = ObtenerInstanciaMensajePedidoPaquete(); CostoEnvioFactory costoEnvioFactory = new CostoEnvioFactory(docContainer); List <string> lstInformacionPedido = new List <string>(); foreach (PedidoDTO pedido in _lstPedidoDTO) { ITiempoReparto tiempoReparto = tiempoRepartoFactory.CrearInstancia(pedido.enumEmpresa); ITiempoTraslado tiempoTraslado = tiempoTrasladoFactory.CrearInstancia(pedido.enumMedioTransporte); ITiempoEntrega tiempoEntrega = new TiempoEntrega(tiempoTraslado, tiempoReparto); IFechaEntrega fechaEntrega = new FechaEntrega(); ICostoEnvio costoEnvio = costoEnvioFactory.CrearInstancia(pedido.enumMedioTransporte, pedido.cIdentificadorEmpresa); ProcesadorInformacionPedidoPaquete procesadorInformacionPedidoPaquete = new ProcesadorInformacionPedidoPaquete(mensajePedidoPaquete, tiempoEntrega, fechaEntrega, costoEnvio); lstInformacionPedido.Add(procesadorInformacionPedidoPaquete.ObtenerInformacionPedidoPaquete(pedido, dtFechaActual)); } return(lstInformacionPedido); }