示例#1
0
        public void TestInitialize()
        {
            _validadorTransporte = new Mock <IValidadorTransporte>();
            _pobladorPedido      = new Mock <IPobladorPedido>();

            _factoryEjecutor = new FactoryEjecutor(_validadorTransporte.Object, _pobladorPedido.Object);
        }
示例#2
0
        public static void Main(string[] args)
        {
            LectorArchivo     lectorArchivo     = new LectorArchivo();
            SeparadorColumnas separadorColumnas = new SeparadorColumnas();
            ValidadorLinea    validadorLinea    = new ValidadorLinea();

            ValidadorFecha      validadorFecha      = new ValidadorFecha();
            ValidadorTransporte validadorTransporte = new ValidadorTransporte();
            Calculador          calculador          = new Calculador();
            ObtenedorEscala     obtenedorEscala     = new ObtenedorEscala();
            ObtenedorDuracion   obtenedorDuracion   = new ObtenedorDuracion();
            ObtenedorTipoEvento obtenedorTipoEvento = new ObtenedorTipoEvento();

            FormateadorFuturoMensajeSingular formateadorFuturoMensajeSingular = new FormateadorFuturoMensajeSingular();
            FormateadorFuturoMensajePlural   formateadorFuturoMensajePlural   = new FormateadorFuturoMensajePlural();
            FormateadorPasadoMensajeSingular formateadorPasadoMensajeSingular = new FormateadorPasadoMensajeSingular();
            FormateadorPasadoMensajePlural   formateadorPasadoMensajePlural   = new FormateadorPasadoMensajePlural();

            formateadorFuturoMensajeSingular.SiguienteFormateador(formateadorFuturoMensajePlural);
            formateadorFuturoMensajePlural.SiguienteFormateador(formateadorPasadoMensajeSingular);
            formateadorPasadoMensajeSingular.SiguienteFormateador(formateadorPasadoMensajePlural);

            PobladorPedido pobladorPedido = new PobladorPedido(
                validadorFecha,
                validadorTransporte,
                calculador,
                obtenedorEscala,
                obtenedorDuracion,
                obtenedorTipoEvento);

            ImprimidorPantalla imprimidorPantalla = new ImprimidorPantalla();

            FactoryEjecutor servicioEjecutor = new FactoryEjecutor(validadorTransporte, pobladorPedido);

            List <string> lineas = lectorArchivo.LeerArchivo(Path.GetFullPath("paquetes.txt"));

            foreach (string linea in lineas)
            {
                string[] columnas = separadorColumnas.SepararPorCaracter(linea, ',');
                if (validadorLinea.ValidarFormato(columnas, 6))
                {
                    IPedido pedido = pobladorPedido.PoblarPedido(columnas);

                    servicioEjecutor.RealizarEnvios(pedido, new DateTime(2020, 01, 01));

                    string resultado = formateadorFuturoMensajeSingular.FormatearMensaje(pedido);

                    imprimidorPantalla.ImprimirConsola(resultado);
                }
            }

            Console.ReadLine();
        }