Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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)
                );
        }