public void CrearInstancia_ObtenerInstanciaDHL_InsanciaDeTipoTiempoRepartoDHL()
        {
            //Arrange
            //var docContainer = new Mock<IContainer>();
            //docContainer.Setup(doc => doc.GetInstance<ITiempoReparto>(It.IsAny<string>())).Returns(new TiempoRepartoDHL());
            var docContainer         = Container.For <DI_Dependencias>();//Según lo que comentó Pedrusco(pruebas amigables) se puede hacer así también.
            TiempoRepartoFactory SUT = new TiempoRepartoFactory(docContainer);
            //Act
            ITiempoReparto tiempoRepartoDHL = SUT.CrearInstancia(EnumEmpresa.DHL);

            //Assert
            Assert.IsInstanceOfType(tiempoRepartoDHL, typeof(TiempoRepartoDHL));
        }
Example #2
0
        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);
        }