public void ObtenerFechaEntrega_22Febrero1200Maritimo_FechaPedidoMas58punto2hrs() { //Arrange ParametrosPaqueteriaDTO param = new ParametrosPaqueteriaDTO() { FechaPedido = new DateTime(2020, 2, 22), Distancia = 1200, NombreMedioTransporte = "Maritimo" }; var DOCcalculaCostoTransporte = new Mock <IMedioTransporte>(); DOCcalculaCostoTransporte.Setup(doc => doc.Nombre).Returns("Maritimo"); DOCcalculaCostoTransporte.Setup(doc => doc.ObtieneTiempoTransporte(It.IsAny <ParametroCalculoMedioTransporteDTO>())).Returns(37.2m); IMedioTransporte[] mediosTransporteFedex = { DOCcalculaCostoTransporte.Object }; var DOCmargenUtilidad = new Mock <IMargenUtilidad>(); DOCmargenUtilidad.Setup(doc => doc.ObtenerMargenUtilidad(param.FechaPedido)).Returns(1.4m); var SUT = new Fedex(mediosTransporteFedex, DOCmargenUtilidad.Object); //ACT var fechaEntrega = SUT.ObtenerFechaEntrega(param); //Assert Assert.AreEqual(param.FechaPedido.AddHours(58.2), fechaEntrega); }
public void ObtenerFechaEntrega_MaritimoTiempoReparto21_23febrero2020() { //Arrange var DOCMedioTransporte = new Mock <IMediosTransporte>(); var DOCcalculaMargen = new Mock <ICalculadorMargenUtilidadCosto>(); ParametrosDTO parametros = new ParametrosDTO(); ParametrosDTO parametrosFinal = new ParametrosDTO(); DateTime dtFechaPedido = new DateTime(2020, 02, 22); double dDistancia = 1200; parametros.dtFechaPedido = dtFechaPedido; parametros.dDistacia = dDistancia; DOCMedioTransporte.Setup(doc => doc.CalculaTiempoTraslado(parametros)).Returns(37.2); List <TiempoRepartoDTO> lstTiempoReparto = new List <TiempoRepartoDTO>(); lstTiempoReparto.Add(new TiempoRepartoDTO { cMedioTransporte = "MARITIMO", iHoras = 21, iMinutos = 0 }); lstTiempoReparto.Add(new TiempoRepartoDTO { cMedioTransporte = "TERRESTRE", iHoras = 10, iMinutos = 0 }); lstTiempoReparto.Add(new TiempoRepartoDTO { cMedioTransporte = "AEREO", iHoras = 21, iMinutos = 0 }); var SUT = new Fedex(DOCMedioTransporte.Object, DOCcalculaMargen.Object, lstTiempoReparto, parametrosFinal); //ACT var regreso = SUT.ObtenerFechaEntrega(parametros); //ASSERT Assert.AreEqual(new DateTime(2020, 02, 23, 13, 12, 0), regreso); }
public void ObtenerCostoServicio_22Febrero1200Maritimo_619punto92()//Invierno { //Arrange ParametrosPaqueteriaDTO param = new ParametrosPaqueteriaDTO() { FechaPedido = new DateTime(2020, 2, 22), Distancia = 1200, NombreMedioTransporte = "Maritimo" }; var DOCcalculaCostoTransporte = new Mock <IMedioTransporte>(); DOCcalculaCostoTransporte.Setup(doc => doc.Nombre).Returns("Maritimo"); DOCcalculaCostoTransporte.Setup(doc => doc.ObtieneCostoTransporte(It.IsAny <ParametroCalculoMedioTransporteDTO>())).Returns(442.80m); IMedioTransporte[] mediosTransporteFedex = { DOCcalculaCostoTransporte.Object }; var DOCmargenUtilidad = new Mock <IMargenUtilidad>(); DOCmargenUtilidad.Setup(doc => doc.ObtenerMargenUtilidad(param.FechaPedido)).Returns(1.4m); var SUT = new Fedex(mediosTransporteFedex, DOCmargenUtilidad.Object); //ACT var costo = SUT.ObtenerCostoServicio(param); //Assert Assert.AreEqual(619.92m, costo); }
protected override void InicializarEmpresa() { if (EmpresaPaqueteria == null) { EmpresaPaqueteria = new Fedex(); } }
public static void Main(string[] args) { //Empresas Fedex fedex = new Fedex(); Dhl dhl = new Dhl(); Estafeta estafeta = new Estafeta(); //Servicios para el procesamiento de los paquetes EnvioPaqueteTren envioPaqueteTren; EnvioPaqueteBarco envioPaqueteBarco; EnvioPaqueteAvion envioPaqueteAvion; envioPaqueteBarco = new EnvioPaqueteBarco(fedex); envioPaqueteBarco.ProcesarEnvio(); envioPaqueteAvion = new EnvioPaqueteAvion(dhl); envioPaqueteAvion.ProcesarEnvio(); envioPaqueteBarco = new EnvioPaqueteBarco(dhl); envioPaqueteBarco.ProcesarEnvio(); envioPaqueteTren = new EnvioPaqueteTren(estafeta); envioPaqueteTren.ProcesarEnvio(); Console.ReadLine(); }
public IPaqueterias AsignarPaqueria(string _cClave) { IPaqueterias paqueteria; switch (_cClave) { case "Estafeta": paqueteria = new Estafeta(); break; case "DHL": paqueteria = new DHL(); break; case "Fedex": paqueteria = new Fedex(); break; default: ImpresorMensajes.mostrarMensajeError(string.Format("La Paquetería: {0} no se encuentra registrada en nuestra red de distribución.", _cClave)); paqueteria = null; break; } return(paqueteria); }
public IPaqueteria Create(string _nombrePaqueteria) { var dto = paqueteriasDTO.Paqueterias.FirstOrDefault(f => f.Paqueteria == _nombrePaqueteria); var _nombrePaqueteriaEnum = (PaqueteriaEnum)System.Enum.Parse(typeof(PaqueteriaEnum), dto.Paqueteria.ToUpper()); List <IMedioTransporte> mediosTransporte = new List <IMedioTransporte>(); foreach (var medio in dto.Medios) { mediosTransporte.Add(MedioTransporteFactory.Create(medio.Medio)); } IPaqueteria factory; switch (_nombrePaqueteriaEnum) { case PaqueteriaEnum.FEDEX: factory = new Fedex(mediosTransporte.ToArray(), new FedexMargenUtilidad(dto.MargenUtilidad)); break; case PaqueteriaEnum.DHL: factory = new Dhl(mediosTransporte.ToArray(), new DhlMargenUtilidad(dto.MargenUtilidad)); break; case PaqueteriaEnum.ESTAFETA: factory = new Estafeta(mediosTransporte.ToArray(), new EstafetaMargenUtilidad(dto.MargenUtilidad)); break; default: throw new NotImplementedException($"No existe una implementación para la paqueteria {_nombrePaqueteriaEnum.ToString()}."); } return(factory); }
public void ValidaMedioTransporte_Terrestre_true() { //Arrange ParametrosPaqueteriaDTO param = new ParametrosPaqueteriaDTO() { FechaPedido = new DateTime(2020, 2, 22), Distancia = 1200, NombreMedioTransporte = "Maritimo" }; var DOCcalculaCostoTransporteTerrestre = new Mock <IMedioTransporte>(); DOCcalculaCostoTransporteTerrestre.Setup(doc => doc.Nombre).Returns("Terrestre"); var DOCcalculaCostoTransporteMaritimo = new Mock <IMedioTransporte>(); DOCcalculaCostoTransporteMaritimo.Setup(doc => doc.Nombre).Returns("Maritimo"); var DOCcalculaCostoTransporteAreo = new Mock <IMedioTransporte>(); DOCcalculaCostoTransporteAreo.Setup(doc => doc.Nombre).Returns("Aereo"); IMedioTransporte[] mediosTransporteFedex = { DOCcalculaCostoTransporteTerrestre.Object, DOCcalculaCostoTransporteMaritimo.Object, DOCcalculaCostoTransporteAreo.Object }; var DOCmargenUtilidad = new Mock <IMargenUtilidad>(); DOCmargenUtilidad.Setup(doc => doc.ObtenerMargenUtilidad(param.FechaPedido)).Returns(1.4m); var SUT = new Fedex(mediosTransporteFedex, DOCmargenUtilidad.Object); //ACT var valida = SUT.ValidaMedioTransporte("Terrestre"); //Assert Assert.AreEqual(true, valida); }
public void CalculaCostoEnvio_EstacionInviernoDistancia1200_618punto8() { //Arrange var DOCMedioTransporte = new Mock <IMediosTransporte>(); var DOCcalculaMargen = new Mock <ICalculadorMargenUtilidadCosto>(); ParametrosDTO parametros = new ParametrosDTO(); ParametrosDTO parametrosFinal = new ParametrosDTO(); DateTime dtFechaPedido = new DateTime(2020, 02, 22); double dDistancia = 1200; parametros.dtFechaPedido = dtFechaPedido; parametros.dDistacia = dDistancia; DOCMedioTransporte.Setup(doc => doc.CalculaCostoEnvio(parametros)).Returns(442); DOCcalculaMargen.Setup(doc => doc.ObtenerMargenUtilidadCosto(442, dtFechaPedido)).Returns(618.8); List <TiempoRepartoDTO> lstTiempoReparto = new List <TiempoRepartoDTO>(); lstTiempoReparto.Add(new TiempoRepartoDTO { cMedioTransporte = "MARITIMO", iHoras = 21, iMinutos = 0 }); lstTiempoReparto.Add(new TiempoRepartoDTO { cMedioTransporte = "TERRESTRE", iHoras = 10, iMinutos = 0 }); lstTiempoReparto.Add(new TiempoRepartoDTO { cMedioTransporte = "AEREO", iHoras = 21, iMinutos = 0 }); var SUT = new Fedex(DOCMedioTransporte.Object, DOCcalculaMargen.Object, lstTiempoReparto, parametrosFinal); //ACT var regreso = SUT.ObtenerCostoEnvio(parametros); //ASSERT Assert.AreEqual(618.8, regreso); }
public void ValidarTransporte_Maritimo_true() { IFormatProvider culture = new CultureInfo("ES-MX", true); var Sut = new Fedex("Marítimo", DateTime.ParseExact("02/09/2020 12:00", "dd/MM/yyyy HH:mm", culture), configuraciones); bool Resultado = Sut.ValidarTransporte(); Assert.IsTrue(Resultado); }
public void MostrarValidaciontransporte_NoAsignado_MuestraError() { IFormatProvider culture = new CultureInfo("ES-MX", true); var Sut = new Fedex("Submarino", DateTime.ParseExact("02/09/2020 12:00", "dd/MM/yyyy HH:mm", culture), configuraciones); string Resultado = Sut.MostrarValidaciontransporte(); Assert.AreEqual("Fedex no ofrece el servicio de transporte Submarino, te recomendamos cotizar en otra empresa.", Resultado); }
public override IPaqueteria CrearPaqueteria() { Fedex fedex = new Fedex(); BarcoFactory barcoFactory = new BarcoFactory(); fedex.AgregarTransporte(barcoFactory.CrearTransporte()); return(fedex); }
public void ObtenerPaqueteria_General_DevuelveFedex() { IFormatProvider culture = new CultureInfo("ES-MX", true); var Sut = new Fedex("", DateTime.ParseExact("02/09/2020 12:00", "dd/MM/yyyy HH:mm", culture), configuraciones); string Resultado = Sut.ObtenerPaqueteria(); Assert.AreEqual("Fedex", Resultado); }
public void ObtenerTiempoRepartoMinutos_Maritimo_MildocientosSesenta() { IFormatProvider culture = new CultureInfo("ES-MX", true); var Sut = new Fedex("Marítimo", DateTime.ParseExact("02/03/2020 12:00", "dd/MM/yyyy HH:mm", culture), configuraciones); decimal Resultado = Sut.ObtenerTiempoRepartoMinutos(); Assert.AreEqual(1260, Resultado); }
public void ObtenerTiempoRepartoMinutos_Terrestre_Seiscientos() { IFormatProvider culture = new CultureInfo("ES-MX", true); var Sut = new Fedex("Terrestre", DateTime.ParseExact("02/03/2020 12:00", "dd/MM/yyyy HH:mm", culture), configuraciones); decimal Resultado = Sut.ObtenerTiempoRepartoMinutos(); Assert.AreEqual(600, Resultado); }
public void ObtenerUtilidad_Impar_PuntoTres() { IFormatProvider culture = new CultureInfo("ES-MX", true); var Sut = new Fedex("", DateTime.ParseExact("02/05/2020 12:00", "dd/MM/yyyy HH:mm", culture), configuraciones); decimal Resultado = Sut.ObtenerUtilidad(); Assert.AreEqual(.30M, Resultado); }
private IEmpresa CrearEmpresaFedexBarco(List <IMetodoEnvio> _lstMetodosEnvio) { IEmpresa fedexBarco; IMetodoEnvio envioBarco = _lstMetodosEnvio.Where(m => m.metodoEnvioDTO.cNombre.ToLower() == "barco").FirstOrDefault(); EmpresaDTO fedexDTO = new EmpresaDTO { cNombre = "Fedex", dMargenUtilidad = 0.50m }; fedexBarco = new Fedex(envioBarco, fedexDTO); return(fedexBarco); }
public void FedExTest() { Fedex fedExTest = new Fedex(-3, -5); Assert.AreEqual(0, fedExTest.Distance); Assert.AreEqual(0, fedExTest.Weight); fedExTest = new Fedex(3, 5); Assert.AreEqual(3, fedExTest.Distance); Assert.AreEqual(5, fedExTest.Weight); Assert.AreEqual(20, fedExTest.Rate); Assert.AreEqual(0, fedExTest.CalculateRate(4, 5)); Assert.AreEqual(0, fedExTest.CalculateRate(3, 6)); Assert.AreEqual(20, fedExTest.CalculateRate(3, 5)); Assert.AreEqual("FedEx", fedExTest.DeliveryNameAndType); fedExTest = new Fedex(500, 5); Assert.AreEqual(500, fedExTest.Distance); Assert.AreEqual(5, fedExTest.Weight); Assert.AreEqual(20, fedExTest.CalculateRate(500, 5)); Assert.AreEqual(20, fedExTest.Rate); fedExTest = new Fedex(501, 5); Assert.AreEqual(501, fedExTest.Distance); Assert.AreEqual(5, fedExTest.Weight); Assert.AreEqual(25, fedExTest.CalculateRate(501, 5)); Assert.AreEqual(25, fedExTest.Rate); fedExTest = new Fedex(500, 48); Assert.AreEqual(500, fedExTest.Distance); Assert.AreEqual(48, fedExTest.Weight); Assert.AreEqual(20, fedExTest.CalculateRate(500, 48)); Assert.AreEqual(20, fedExTest.Rate); fedExTest = new Fedex(500, 49); Assert.AreEqual(500, fedExTest.Distance); Assert.AreEqual(49, fedExTest.Weight); Assert.AreEqual(23, fedExTest.CalculateRate(500, 49)); Assert.AreEqual(23, fedExTest.Rate); fedExTest = new Fedex(501, 55); Assert.AreEqual(501, fedExTest.Distance); Assert.AreEqual(55, fedExTest.Weight); Assert.AreEqual(28, fedExTest.CalculateRate(501, 55)); Assert.AreEqual(28, fedExTest.Rate); }
static void Main(string[] args) { DHL dhl = new DHL(); Fedex fed = new Fedex(); CorreoMexico correo = new CorreoMexico(); clientA clca = new clientA(); clientB clcb = new clientB(); clientC clcc = new clientC(); dhl.add(clca); fed.add(clcb); correo.add(clcc); correo.add(clca); Console.ReadKey(); }
public void CalcularRangoTiempo_DatosCorrectos_ArmaCostoConTextoTuvo() { //Arrange string cRangoTiempoEsperado = "2 horas"; decimal dTiempoTraslado = 2m; var DOCIMetodoEnvio = new Mock <IMetodoEnvio>(); DOCIMetodoEnvio.Setup(e => e.CalcularTiempoTraslado(It.IsAny <decimal>())).Returns(dTiempoTraslado); DOCIMetodoEnvio.Setup(e => e.ObtenerFechaEntrega(It.IsAny <DateTime>(), It.IsAny <decimal>())).Returns(It.IsAny <DateTime>()); var DOCIRangoTiempo = new Mock <IRangoTiempo>(); DOCIRangoTiempo.Setup(r => r.ObtenerRangoTiempo(It.IsAny <DateTime>(), It.IsAny <DateTime>())).Returns(cRangoTiempoEsperado); var SUT = new Fedex(DOCIMetodoEnvio.Object, new EmpresaDTO()); //Act string cRangoTiempo = SUT.CalcularRangoTiempo(new PedidoDTO(), It.IsAny <DateTime>(), DOCIRangoTiempo.Object); //Assert Assert.AreEqual(cRangoTiempoEsperado, cRangoTiempo); }
public void ObtenerCosto_DatosCorrectos_ArmaCostoConTextoTuvo() { //Arrange string cMensajeCosto = "tuvó"; decimal dCosto = 10m; string cMensajeCostoEsperado = $"{cMensajeCosto} un costo de ${dCosto.ToString()}"; var DOCIMetodoEnvio = new Mock <IMetodoEnvio>(); DOCIMetodoEnvio.Setup(e => e.CalcularCostoEnvio(It.IsAny <decimal>(), It.IsAny <decimal>())).Returns(dCosto); var SUT = new Fedex(DOCIMetodoEnvio.Object, new EmpresaDTO()); var DOCIVerificadorEstadoPaquete = new Mock <IVerificadorEstadoPaquete>(); DOCIVerificadorEstadoPaquete.Setup(v => v.VerificarPrevioCostoPaquete()).Returns(cMensajeCosto); //Act string cCosto = SUT.ObtenerCosto(It.IsAny <decimal>(), DOCIVerificadorEstadoPaquete.Object); //Assert Assert.AreEqual(cMensajeCostoEsperado, cCosto); }
static void Main(string[] args) { MetodoEnvios metodoFedex = new Fedex(new Barco()); metodoFedex.Display("Paqueteria Fedex"); MetodoEnvios metodoDhlAvion = new DHL(new Avion()); metodoDhlAvion.Display("Paqueteria DHL"); MetodoEnvios metodoDhlBarco = new DHL(new Barco()); metodoDhlBarco.Display("Paqueteria DHL"); MetodoEnvios metodoEstafeta = new Estafeta(new Tren()); metodoEstafeta.Display("Paqueteria Estafeta"); Console.ReadLine(); }
public void ObtenerEstadoPaquete_DatosCorrectosParaArmarTexto_ObtieneTextoCuendoEstaPorEntregar() { //Arrange string cOrigen = "origen"; string cDestino = "destino"; string cEstadoEsperado = $"Tu paquete ha salido de {cOrigen} y llegará a {cDestino} dentro de"; var DOCIMetodoEnvio = new Mock <IMetodoEnvio>(); var DOCIVerificadorEstadoPaquete = new Mock <IVerificadorEstadoPaquete>(); DOCIVerificadorEstadoPaquete.Setup(v => v.VerificarSiPaqueteSalio()).Returns("ha salido"); DOCIVerificadorEstadoPaquete.Setup(v => v.VerificarSiPaqueteLlego()).Returns("llegará"); DOCIVerificadorEstadoPaquete.Setup(v => v.VerificarPrevioTiempoPaquete()).Returns("dentro de"); var SUT = new Fedex(DOCIMetodoEnvio.Object, new EmpresaDTO()); //Act string cEstado = SUT.ObtenerEstadoPaquete(new PedidoDTO { cOrigen = cOrigen, cDestino = cDestino }, DOCIVerificadorEstadoPaquete.Object); //Assert Assert.AreEqual(cEstadoEsperado, cEstado); }
public Empresas CrearInstancia(int iTipo, ITipoEnvio tipoEnvio, string cProducto) { Empresas empresa = null; switch (iTipo) { case 1: empresa = new DHL(tipoEnvio, cProducto); break; case 2: empresa = new Fedex(tipoEnvio, cProducto); break; case 4: empresa = new Estafeta(tipoEnvio, cProducto); break; } return(empresa); }
static void Main(string[] args) { IPaqueteria svrPaqueteriaFedex = new Fedex(); IPaqueteria svrPaqueteriaDHL = new DHL(); IPaqueteria svrPaqueteriaEstafeta = new Estafeta(); TransportadorBridge svrTransportador = new TransportadorBarco(svrPaqueteriaFedex); Console.WriteLine("Paqueteria Fedex"); svrTransportador.Procesar(); Console.WriteLine("Paqueteria DHL"); svrTransportador = new TransportadorAvion(svrPaqueteriaDHL); svrTransportador.Procesar(); svrTransportador = new TransportadorBarco(svrPaqueteriaDHL); svrTransportador.Procesar(); Console.WriteLine("Paqueteria Estafeta"); svrTransportador = new TransportadorTren(svrPaqueteriaEstafeta); svrTransportador.Procesar(); Console.Write("Presiona cualquier tecla para salir del programa oks..."); Console.ReadKey(); }
static void Main(string[] args) { //setup our DI var serviceProvider = new ServiceCollection() .AddScoped(typeof(IClockReader), typeof(Clock)) .AddScoped(typeof(IEnviosRepository), typeof(EnviosRepository)) .AddScoped <IPackageRepository, EnvioPackageRepositoryAdapter>(x => { EnvioPackageRepositoryAdapter envioPackageRepositoryAdapter = new EnvioPackageRepositoryAdapter(x.GetRequiredService <IEnviosRepository>()); envioPackageRepositoryAdapter.AddFactory(new EstafetaEnviosFactory(new Estafeta())); envioPackageRepositoryAdapter.AddFactory(new FedexEnviosFactory(new Fedex())); envioPackageRepositoryAdapter.AddFactory(new DhlEnviosFactory(new Dhl())); return(envioPackageRepositoryAdapter); }) .AddScoped(typeof(IRangoDeTiempoProvider), typeof(RangoDeTiempoProvider)) .AddScoped(typeof(ITimeChecker), typeof(TimeChecker)) .AddScoped(typeof(ICalculadorTiempoTraslado), typeof(CalculadorTiempoTraslado)) .AddScoped(typeof(ICalculadorDeFechaDeEntrega), typeof(DefaultCalculadorFechaEntrega)) .AddScoped(typeof(ICalculadorCostoEnvio), typeof(CalculadorCostoEnvio)) .AddScoped(typeof(IDeliveryManager), typeof(DeliveryManager)) .AddScoped(typeof(IDeliveryMessagePrinter), typeof(DeliveryMessagePrinter)) .AddScoped(typeof(IReporteadorDePedidos), typeof(ReporteadorDePedidos)) .BuildServiceProvider(); IReporteadorDePedidos reporteadorDePedidos = serviceProvider.GetRequiredService <IReporteadorDePedidos>(); IRangoDeTiempoProvider rangoDeTiempoProvider = serviceProvider.GetRequiredService <IRangoDeTiempoProvider>(); ICalculadorCostoEnvio calculadorCostoEnvio = serviceProvider.GetRequiredService <ICalculadorCostoEnvio>(); //Empresas Estafeta estafeta = new Estafeta(); Fedex fedex = new Fedex(); Dhl dhl = new Dhl(); reporteadorDePedidos.AddEmpresa(estafeta); reporteadorDePedidos.AddEmpresa(fedex); reporteadorDePedidos.AddEmpresa(dhl); reporteadorDePedidos.AddStrategy( PackageStatus.entregado, new EntregadoStrategy(rangoDeTiempoProvider, calculadorCostoEnvio)); reporteadorDePedidos.AddStrategy( PackageStatus.enCamino, new PorEntregarStrategy(rangoDeTiempoProvider, calculadorCostoEnvio)); reporteadorDePedidos.AddStrategy(PackageStatus.unknown, new UnsupportedMetodoEnvioStrategy()); reporteadorDePedidos.AddStrategy(PackageStatus.unsupported, new EmpresaDesconocidaStrategy()); RecomendacionReporteadorPedidosDecorator recomendacionReporteadorPedidosDecorator = new RecomendacionReporteadorPedidosDecorator(reporteadorDePedidos, serviceProvider.GetRequiredService <IPackageRepository>(), serviceProvider.GetRequiredService <ICalculadorCostoEnvio>()); recomendacionReporteadorPedidosDecorator.AddEmpresa(estafeta); recomendacionReporteadorPedidosDecorator.AddEmpresa(fedex); recomendacionReporteadorPedidosDecorator.AddEmpresa(dhl); recomendacionReporteadorPedidosDecorator.AddStrategy( PackageStatus.entregado, new EntregadoStrategy(rangoDeTiempoProvider, calculadorCostoEnvio)); recomendacionReporteadorPedidosDecorator.AddStrategy( PackageStatus.enCamino, new PorEntregarStrategy(rangoDeTiempoProvider, calculadorCostoEnvio)); recomendacionReporteadorPedidosDecorator.AddStrategy(PackageStatus.unknown, new UnsupportedMetodoEnvioStrategy()); recomendacionReporteadorPedidosDecorator.AddStrategy(PackageStatus.unsupported, new EmpresaDesconocidaStrategy()); recomendacionReporteadorPedidosDecorator.ReportAll(); }
public FedexEnviosFactory(Fedex fedex) { DeliveryCompany = fedex; }