public ITextoFormateador Create(TextoFormateadorEnum _tipo) { ITextoFormateador factory = null; switch (_tipo) { case TextoFormateadorEnum.Entregado: //PedidoEntregado factory = new FormatoPedidoEntregado(Validador); break; case TextoFormateadorEnum.Pendiente: factory = new FormatoPedidoPendiente(Validador); break; } return(factory); }
public void Formatear_EntregadoConOpcionMasEconomica10Dias()//Invierno { //Arrange DatoSalidaDTO param = new DatoSalidaDTO() { CiudadOrigen = "Ticul", CiudadDestino = "Motul", PaisOrigen = "Mexico", PaisDestino = "Mexico", CostoServicio = 1160m, FechaEntrega = new DateTime(2020, 3, 2).AddDays(10), FechaHoy = new DateTime(2020, 3, 2), Linea = 1, NombrePaqueteria = "Fedex", OpcionMasEconomica = new OpcionMasEconomicaDTO() { NombrePaqueteria = "Dhl", CostoEnvio = 1100 } }; List <EstadoPedidoDTO> lstEstados = new List <EstadoPedidoDTO>() { new EstadoPedidoDTO() { Color = "Yellow", Linea = 1, Mensaje = "Tu paquete ha salido de Ticul, Mexico y llegará a Motul, Mexico dentro de 10 Días y tendrá un costo de $1,160.00 (Cualquier reclamación con FEDEX)." }, new EstadoPedidoDTO() { Color = "Gray", Linea = 1, Mensaje = "Si hubieras pedido en Dhl te hubiera costado $60.00 menos." } }; var DOCrangoValidador = new Mock <IRangoTiempoValidador>(); DOCrangoValidador.Setup(doc => doc.ValidaFecha(It.IsAny <TimeSpan>())).Returns("10 Días"); var SUT = new FormatoPedidoPendiente(DOCrangoValidador.Object); //ACT var textoFormateado = SUT.Formatear(param); //Assert Assert.IsTrue( lstEstados[0].Mensaje.Equals(textoFormateado[0].Mensaje) && lstEstados[0].Color.Equals(textoFormateado[0].Color) && lstEstados[1].Mensaje.Equals(textoFormateado[1].Mensaje) && lstEstados[1].Color.Equals(textoFormateado[1].Color) ); }