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(); }
public void PoblarPedido_ColumnasCompletas_DevolverEntidadPedido() { //Arrange _validadorTransporte.Setup(x => x.EsMedioDeTransporte(It.IsAny <string>())).Returns(TipoTransporte.Tren); _validadorFecha.Setup(x => x.ValidarFechaString(It.IsAny <string>())).Returns(new DateTime(2020, 1, 1, 0, 1, 0)); string[] campos = new string[6]; campos[0] = "Tizimín"; campos[1] = "Mérida"; campos[2] = "147"; campos[3] = "DHL"; campos[4] = "Tren"; campos[5] = "01/01/2020 00:01:00"; //Act IPedido pedido = _pobladorPedido.PoblarPedido(campos); //Assert Assert.AreEqual("Tizimín", pedido.Origen); Assert.AreEqual("Mérida", pedido.Destino); Assert.AreEqual(147, pedido.Distancia); Assert.AreEqual("DHL", pedido.Empresa); Assert.AreEqual(TipoTransporte.Tren, pedido.TipoTransporte); Assert.AreEqual(new DateTime(2020, 01, 01, 0, 1, 0), pedido.FechaHora); }