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)); }
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); }